题目 链接
题目大意
有一个传送带矩阵(n * m),每个格子有两个方向运输物品(向右或者向下),希望物品全部都到{n,m}的位置,就是说不要让东西掉下去。我们可以任意修改某个格子的运输方向,问最少需要修改几个。
简析
构造,只要最后一列没有向右的传送以及最后一行没有向下的传送即为合法状态。
参考代码
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
string a[N];
int main() {
// freopen("in.txt", "r", stdin);
int t;
cin >> t;
while (t--) {
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) cin >> a[i];
int cnt = 0;
for (int i = 0; i < n - 1; i++) {
if (a[i][m - 1] == 'R') cnt++;
}
for (int i = 0; i < m - 1; i++) {
if (a[n - 1][i] == 'D') cnt++;
}
cout << cnt << endl;
}
}