关于30行骗50分那档事
查看原帖
关于30行骗50分那档事
409518
Zzz_yigui楼主2023/10/16 21:10

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;
}
2023/10/16 21:10
加载中...