codeforces 266B-C语言解题报告
Posted DQ_CODING
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces 266B-C语言解题报告相关的知识,希望对你有一定的参考价值。
题目解析
输入n,t,排队情况s,输出第t次循环后,排队情况
举例:
输入:
5 1
BGGBG
输出:
GBGGB
2.输入的n代表排队的人数,t代表整个循环t次之后再输出结果
3.注意点:
使用while()大循环去控制t次的循环,使用for()内层循环去遍历整个字符串
如果if(s[j]‘B’&&s[j+1]‘G’),则交换s[j]与s[j+1],并且j+2(跳过这两个已经交换过的循环)
如果不是,则下一个j+1去判断
代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
int n=0,t=2;
char s[50]={'\\0'};
char c='0';
scanf("%d %d",&n,&t);
scanf("%s",s);
while(t--){
for(int j=0;j<strlen(s);)
{
if(s[j]=='B'&&s[j+1]=='G')
{
c=s[j];
s[j]=s[j+1];
s[j+1]=c;
j+=2;
}else{
j+=1;
}
}
}
printf("%s",s);
system("pause");
return 0;
}
以上是关于codeforces 266B-C语言解题报告的主要内容,如果未能解决你的问题,请参考以下文章