2017CCPC秦皇岛 L题One-Dimensional Maze&&ZOJ3992【模拟】

时间:2023-03-08 21:46:13

链接: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=;
for(int i=m-;i>;i--)
if(s[i]=='R')
sum++;
return sum;
} int R(string s)
{
int sum=;
for(int i=m-;i<n-;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 ;
}