题目链接:https://www.luogu.com.cn/problem/CF1391B
题意:给定一个n∗m的网格传送带,每个传送带上都有一个方向为,D代表向下,R代表向右。我们可以改变传送的的方向。(只能在下右之间做调整。)其中(n,m)处为柜台,我们要使得网格传送带上的行李都能到达柜台处,求我们至少要进行多少次操作更改。
思路:我们发现,所有的货物都是向右或者向下的,也就是说所有的货物最终都是会运到网格传送带的最右端或最下端。因此,我们只需要将最右端处的传送带改成向下,最下端的传送带改成向右就可以满足题目要求了。
代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
char cell[103][103];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int t;
    cin>>t;
    while(t--)
    {
        int n,m;
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            cin>>cell[i][j];
        }
        int ans=0;
        for(int i=1;i<n;i++)//控制最右端的
        {
            if(cell[i][m]=='R')
               ans++;
        }
        for(int i=1;i<m;i++)
        {
            if(cell[n][i]=='D')//控制最下端的
               ans++;
        }
        cout<<ans<<endl;
    }
    return 0;
}