照著題目敘述做。
如果輪到誰,誰卻跳出迴圈,就代表輸了。
程式碼
#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;
}
沒有留言:
張貼留言