题目描述
WP
的好基友
CZ
被妖怪抓走了(话说
CZ
这货长得太漂亮了老是勾引妖怪,不守基道
…
..
),聪明机智的
WP
只好去救自己的好基友。
“妖怪快快放了我师傅,额,不对,快快放了我的基友
……
”。
妖怪听后怒之,要与
WP
玩一场智力游戏,来争夺基友。
游戏描述如下:
给出一个数字串N,两人轮流从中取出一个数字,要求每次取完之后剩下的数是3的倍数,不能取数者输。两人都足够聪明,S代表WP,WP先取,T代表妖怪,妖怪后取,谁会会获胜?
游戏描述如下:
给出一个数字串N,两人轮流从中取出一个数字,要求每次取完之后剩下的数是3的倍数,不能取数者输。两人都足够聪明,S代表WP,WP先取,T代表妖怪,妖怪后取,谁会会获胜?
输入
输入第一行一个整数
T(
0 < T < 60)
接下来
T行,每行有一个数字串
N(N由不超过
1000个非
0数字组成
)。
输出
Case x: y x表示第几组数据,y表示S或T
示例输入
3 4 33 771
示例输出
Case 1: S Case 2: T Case 3: T
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int testcase;
string tar,ans;
cin>>testcase;
for(int p=1;p<=testcase;p++)
{
int tsum,tcount;
int sum=0,count=0,flag=0;
cin>>tar;
for(int i=0;i<tar.length();i++)
{
sum+=tar[i]-'0';
if((tar[i]-'0')%3==0)
count++;
}
for(int i=0;i<tar.length();i++)
{
tsum=sum-(tar[i]-'0');
tcount=count;
if(tsum%3==0)
{
if((tar[i]-'0')%3==0)
tcount--;
if(tcount%2==0)
{
flag=1;
break;
}
}
}
if(flag==1)
cout<<"Case "<<p<<": S"<<endl;
else
cout<<"Case "<<p<<": T"<<endl;
}
return 0;
}
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int testcase;
string tar,ans;
cin>>testcase;
for(int p=1;p<=testcase;p++)
{
int tsum,tcount;
int sum=0,count=0,flag=0;
cin>>tar;
for(int i=0;i<tar.length();i++)
{
sum+=tar[i]-'0';
if((tar[i]-'0')%3==0)
count++;
}
for(int i=0;i<tar.length();i++)
{
tsum=sum-(tar[i]-'0');
tcount=count;
if(tsum%3==0)
{
if((tar[i]-'0')%3==0)
tcount--;
if(tcount%2==0)
{
flag=1;
break;
}
}
}
if(flag==1)
cout<<"Case "<<p<<": S"<<endl;
else
cout<<"Case "<<p<<": T"<<endl;
}
return 0;
}