题意:
解法:
这题其实和a[i]具体是多少没什么关系.
给定任意两个数x和y,对这两个数依次执行1,2,1,2,1,2操作,
最后就会变成-x和-y.
由于题目保证n是偶数,因此做n/2次上述操作即可.
code:
#include<bits/stdc++.h>
using namespace std;
struct Node{
int i,j,k;
};
vector<Node>ans;
int a[maxm];
int n;
void solve(){
ans.clear();
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i+=2){
ans.push_back({1,i,i+1});
ans.push_back({2,i,i+1});
ans.push_back({1,i,i+1});
ans.push_back({2,i,i+1});
ans.push_back({1,i,i+1});
ans.push_back({2,i,i+1});
}
cout<<ans.size()<<endl;
for(auto i:ans){
cout<<i.i<<' '<<i.j<<' '<<i.k<<endl;
}
}
signed main(){
ios::sync_with_stdio(0);cin.tie(0);
int T;cin>>T;while(T--)
solve();
return 0;
}