打怪【基础字符串】
思路简析
其实满水一道题的,就是要处理细节,因为出了大招之后那三个字符就不用再输出了。我的思路比较简洁,就是读入之后用for循环遍历,判断出大招之后就循环变量i+2,否则就一招一招地输出。
代码实现如下:
#include<cstdio>
#include<cstring>
char a[1000005];
int main()
{
gets(a);
for(int i=0;i<strlen(a);i++)
{
if(a[i]+a[i+1]+a[i+2]+a[i]=='R'+'B'+'L')
{//不一定顺序,所以考虑和不变,ASIIC码也行
printf("C");
i+=2;
}
else
{
if(a[i]=='R') printf("S");
if(a[i]=='B') printf("K");
if(a[i]=='L') printf("H");
}
}
return 0;
}
没啥可说的,但我在写的时候,判断大招那里是这么写的:
if(a[i]&&a[i+1]&&a[i+2]&&a[i]!=a[i+1]&&a[i+1]!=a[i+2]&&a[i]!=a[i+2])
其实原理也对,但是超时了/无奈//无奈/
转载请注明出处,有疑问欢迎探讨
博主邮箱 2775182058@qq.com

浙公网安备 33010602011771号