test 2 错了,蒟蒻求调 Orz
#include<bits/stdc++.h>
using namespace std;
const int N=55;
int T;
int n;
int a[N];
struct lsh{
long long zhi;
vector<int>xiabiao;
}ls[N];
int len;
void init(){
memset(ls,0,sizeof(ls));
ls[0].zhi=INT_MAX;
len=0;
memset(a,0,sizeof(a));
n=0;
}
bool findt(long long t){
for(int i=1;i<=len;i++){
if(ls[i].zhi==t)return i;
}return 0;
}
void word(){
// for(int i=1;i<=n;i++)cout<<ls[a[i]].zhi;
int cnt=0;
long long l[n],r[n],d[n];
a[0]=0;
for(int i=1;i<n;i++){
int minj=0;
for(int j=i;j<=n;j++){
if(ls[a[j]].zhi<ls[a[minj]].zhi)minj=j;
}
if(minj>i){
cnt++;
l[cnt]=i,r[cnt]=minj,d[cnt]=minj-i;
for(int j=minj;j>i;j--)swap(a[j],a[j-1]);
}
}
cout<<cnt<<endl;
for(int i=1;i<=cnt;i++)cout<<l[i]<<" "<<r[i]<<" "<<d[i]<<endl;
return ;
}
int main(){
cin>>T;
while(T--){
init();
cin>>n;
for(int i=1;i<=n;i++){
long long t;
cin>>t;
int tf=findt(t);
if(tf)ls[tf].xiabiao.push_back(i),a[i]=tf;
else ls[++len].zhi=t,ls[len].xiabiao.push_back(t),a[i]=len;
}
word();
}
return 0;
}
dalao 帮个忙 stO