| 比赛 |
2026.8.26 |
评测结果 |
AAAAAWWWWWWWWWWWWWWW |
| 题目名称 |
merge |
最终得分 |
25 |
| 用户昵称 |
djyqjy |
运行时间 |
0.052 s |
| 代码语言 |
C++ |
内存使用 |
3.66 MiB |
| 提交时间 |
2026-08-26 11:46:06 |
显示代码纯文本
#include<bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define pir pair<int,int>
#define fi first
#define se second
using namespace std;
void chkmin(int &a,int b){a=min(a,b);}
void chkmax(int &a,int b){a=max(a,b);}
inline int re()
{
char c=getchar();
int x=0,f=1;
while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
return x*f;
}
const int N=510;
int T,n;
int a[N];
int main()
{
freopen("mergeegrem.in","r",stdin);
freopen("mergeegrem.out","w",stdout);
T=re();
while(T--)
{
n=re();
for(int i=1;i<=n;i++) a[i]=re();
if(n==1)
{
printf("Huoyu\n0\n");
continue;
}
else if(n==2)
{
printf("Shuiniao\n");
continue;
}
else if(n==3)
{
if((a[1]^a[2]^a[3])==0) printf("Huoyu\n1\n1 2 3\n");
else printf("Shuiniao\n");
continue;
}
else if(n==4)
{
if((a[1]^a[2]^a[4])==0) printf("Huoyu\n1\n1 2 4\n");
else if((a[1]^a[3]^a[4])==0) printf("Huoyu\n1\n1 3 4\n");
else printf("Shuiniao\n");
continue;
}
else if(n==5)
{
bool flag=0;
for(int i=2;i<=4;i++) if((a[1]^a[i]^a[5])==0){printf("Huoyu\n1\n1 %d 5\n",i);flag=1;break;}
if(!flag)
{
if((a[1]^a[2]^a[3]^a[4]^a[5])==0)
{
if((a[1]^a[2]^a[3])==0) printf("Huoyu\n2\n1 2 3\n1 2 3\n");
else if((a[2]^a[3]^a[4])==0) printf("Huoyu\n2\n2 3 4\n1 2 3\n");
else if((a[3]^a[4]^a[5])==0) printf("Huoyu\n2\n3 4 5\n1 2 3\n");
else flag=1;
}
else flag=1;
if(flag) printf("Shuiniao\n");
}
continue;
}
}
return 0;
}