1. 程式人生 > >NAIPC 2017 J. Yin and Yang Stones(思維)

NAIPC 2017 J. Yin and Yang Stones(思維)

題目大意:

      將多個白色石頭(W)和黑色石頭(B)圍成一個圈。可以對它們進行2種操作

       ①選擇一段連續的石頭,如果這段石頭中白色石頭的個數恰好比黑色石頭個數多一個,那麼就可以將這段石頭用一個白色石頭代替

      ②選擇一段連續的石頭,如果這段石頭中黑色石頭的個數恰好比白色石頭個數多一個,那麼就可以將這段石頭用一個黑色石頭代替

      問最後是否能只剩下一個黑色石頭和一個白色石頭,可以則輸出1,否則輸出0。

題解:

      一上來也沒多想就開始在寫模擬,結果WA了一發,後來想了想,W和B和個數是與順序無關的,只需要統計一下W和B的個數,只要個數相等,最後就能只剩一黑一白,否則就不行

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    string s;
    cin>>s;
    int l=s.length();
    int w=0,b=0;
    for(int i=0;i<l;++i)
        if(s[i]=='W')
            w++;
        else b++;
    if(w==b)
        puts("1");
    else puts("0");
    return 0;
}