PS:这题数据好水,比肩星战,只要考虑一头一尾+中间这种1操作,别的都输出不能,就能在多组数据判定的情况下得到50分
#include<bits/stdc++.h>
using namespace std;
int n,l[505],s[505],dp[505][505],id[505],t;
int main(){
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++){
cin>>l[i];
if(i!=1&&i!=n)id[l[i]]=i;
}
for(int i=1;i<=n;i++){
s[i]=s[i-1]^l[i];
}
if(n==1){
cout<<"Huoyu"<<endl;
cout<<0<<endl;
continue;
}
if(id[l[1]^l[n]]){
cout<<"Huoyu"<<endl;
cout<<1<<endl;
cout<<1<<" "<<id[l[1]^l[n]]<<" "<<n<<endl;
continue;
}
else cout<<"Shuiniao"<<endl;
}
return 0;
}