链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3992

题意:

走迷宫,一个一维字符串迷宫,由'L'、'R'组成,分别代表向左一步、向右一步,若遇见”死胡同“,可将当前字符替换,比如'L'换成'R',‘R’换成‘L’,从始发地出发,求最少替换多少个字符就可以走出迷宫。

思路:

从起点分别向左向右简单模拟即可。

代码:

#include<iostream>
#include<cstdio>
using namespace std;

int t,n,m;
int L(string s)
{
    int sum=0;
    for(int i=m-1;i>0;i--)
        if(s[i]=='R')
            sum++;
    return sum;
}

int R(string s)
{
    int sum=0;
    for(int i=m-1;i<n-1;i++)
        if(s[i]=='L')
            sum++;
    return sum;
}

int main()
{
    string s;
    cin>>t;
    while(t--)
    {
        cin>>n>>m>>s;
        printf("%d\n",R(s)>L(s)?L(s):R(s));
    }
    return 0;
}

相关文章:

  • 2021-09-14
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
  • 2021-11-20
  • 2022-12-23
  • 2021-06-21
猜你喜欢
  • 2021-07-14
  • 2021-10-06
  • 2021-12-30
  • 2021-12-21
  • 2022-02-14
  • 2022-01-21
  • 2021-06-30
相关资源
相似解决方案