大致题意:
走迷宫,给你一个一维字符串迷宫,由'L'、'R'组成,分别代表向左一步、向右一步,若遇见”死胡同“,可将当前字符替换,比如'L'换成'R',从始发地出发,求最少替换多少个字符就可以走出迷宫。
思路:
从起点分别向左向右简单模拟即可,不再赘述。
现场赛此题1A,并只用了四分钟,实力惊人啊!!!
#include<bits/stdc++.h>
int t,n,m;
using namespace std;
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;
}