
注意看题目 :
就是 solar bear 必须走过这格之后才会造成印迹的变化 这点是需要注意的。
结果就只有这三种情况了
(1)RRRRR 从1走到6
(2)LLLLLL 从6走到1
(3)RRRRLLLLL 这种情况我是考虑 第一个R出现的位置为起始位置,第一个L出现的位置为终止位置,这是最终的结果的其中一项。
不存在 LLLLRRRR这样的情况
post code:
#include<stdio.h>
#include<string.h>
char s[3000];
int main(){
int n;
while(scanf("%d",&n)!=EOF){
scanf("%s",s);
int R=0,L=0,posR=n+10,posL=n+10;
for(int i=0;i<n;i++){
if(s[i]=='R'){ //找到第一个出现的R
R++;
if(posR>i){
posR=i;
}
}
if(s[i]=='L'){ //找到第一个出现的L
L++;
if(posL>i){
posL=i;
}
}
}
if(L==0){printf("%d %d\n",posR+1,posR+R+1);continue;} //全是R的情况
if(R==0){printf("%d %d\n",posL+L,posL);continue;} //全是L的情况
printf("%d %d\n",posR+1,posL); //第三种情况
}
}

本文详细解析 Codeforces 298A 题目,介绍了通过跟踪字符'R'和'L'来确定路径变化区间的三种可能情况,并提供了完整的 C 语言实现代码。
398

被折叠的 条评论
为什么被折叠?



