题目
思路
首先给出结论:
当这一圈的石子数为1的时候,先手必胜
否则,后者必胜
- 考虑环为偶数
随便找以一条线为对称轴
后手只需要将先手的动作做一次镜面对称即可
- 考虑环为奇数
最开始先手选择的石头是没有影响的
后手只需要对这个石头隔一个石头的那个石头进行涂色
然后再将中间的石头作为对称轴
之后的操作做镜面对称即可
代码
#include<iostream>
using namespace std;
int t;
int n;
int ans;
int a;
void c_in()
{
cin>>n;
ans=0;
for(int i=1;i<=n;i++)
{
cin>>a;
if(a==1)
ans^=1;
}
if(!ans)
cout<<"hamster"<<'\n';
else
cout<<"rabbit"<<'\n';
}
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
c_in();
return 0;
}