http://codeforces.com/problemset/problem/266/B

题目意思:有n 个人,站在一队,男的“B”表示,女的用“G”表示,有时间t,,每次调整减(t- -)每次整的条件必须是:男的右边是女的,即:(s[i-1]="B",s[i]=='G')每一次都是正对调整。

思路:用到for 循环,其次用到swap(,)交换函数,并且要求每次循环要保留下次序,以便接下来的循环!

附代码:

#include
#include
#include
using namespace std;
int main()
{
    int i,j,n,t;
    string s,str;
    while(cin>>n>>t)
    {
        cin>>s;
        for(i=1;i<=t;i++)//每一t(这一列)调换一次;
        {
            str=s;
            for(j=1;j             {
                if(s[j-1]=='B'&&s[j]=='G')
                    swap(str[j-1],str[j]);
            }
            s=str;
        }
        cout<     }
    return 0;
}

你可能感兴趣的:(ACM-其余)