NAIPC 2017 J. Yin and Yang Stones(思維)
阿新 • • 發佈:2018-12-13
題目大意:
將多個白色石頭(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; }