照著題目敘述做。
如果輪到誰,誰卻跳出迴圈,就代表輸了。
程式碼
#include <iostream> using namespace std; int sum_of_digits(string s) { int sum=0; for(int i=0;i<s.length();i++) sum+=s[i]-'0'; return sum; } int can_remove(string s) { if(s.length()==0) return -1; int sum=sum_of_digits(s); for(int i=0;i<s.length();i++) { if((sum-(s[i]-'0'))%3==0) return i; } return -1; } int main() { int T; cin>>T; for(int round=1;round<=T;round++) { bool isT=false; // s first string s; cin>>s; while(1){ int index=can_remove(s); if(index==-1) break; s=s.erase(index,1); isT=!isT; } cout<<"Case "<<round<<": "; cout<< (isT ? "S" : "T") << endl; } return 0; }
沒有留言:
張貼留言