| 比赛 |
2026.8.26 |
评测结果 |
AAAAATTTTTTTTTTTTTTT |
| 题目名称 |
merge |
最终得分 |
25 |
| 用户昵称 |
ChenBp |
运行时间 |
31.523 s |
| 代码语言 |
C++ |
内存使用 |
3.60 MiB |
| 提交时间 |
2026-08-26 12:56:24 |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <vector>
#include <deque>
using namespace std;
vector<int>a;
bool ok=0;
struct node{
int i,j,k;
node(int _i,int _j,int _k){
i=_i,j=_j,k=_k;
}
node(){
i=j=k=0;
}
};
deque<node>d;
void dfs(vector<int>ve){
if(ok) return;
if(ve.size()==1){
ok=1;
cout<<"Huoyu\n";
cout<<d.size()<<"\n";
while(!d.empty()){
auto now=d.front();
d.pop_front();
cout<<now.i+1<<" "<<now.j+1<<" "<<now.k+1<<"\n";
}
return;
}
int len=ve.size();
for(auto i=0;i<len;i++){
for(int j=i+1;j<len;j++){
for(int k=j+1;k<len;k++){
if((ve[i]^ve[j]^ve[k])==0){
vector<int>bf=ve;
bf.erase(bf.begin()+i,bf.begin()+k+1);
int s=0;
for(int p=i;p<=k;p++){
s^=ve[p];
}
bf.insert(bf.begin()+i,s);
d.emplace_back(i,j,k);
dfs(bf);
d.pop_back();
}
}
}
}
}
int main(){
freopen("mergeegrem.in","r",stdin);
freopen("mergeegrem.out","w",stdout);
int t;
cin>>t;
while(t--){
int n;
cin>>n;
a.clear();
d.clear();
a.resize(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
ok=0;
dfs(a);
if(!ok) cout<<"Shuiniao\n";
}
return 0;
}