#include <bits/stdc++.h>
using namespace std;
int main(){
int n, s;
cin>>n>>s;
set<int> nums;
for(int i = 0; i<s; i++){
int a;
cin>>a;
nums.insert(a);
}
vector<stringstream> streams(1);
int cnt = 1;
if(nums.find(1) != nums.end()) streams.back()<<"1 1 1\n";
else streams.back()<<"3 1\n";
for(int i = 2; i<=n; i++){
if(nums.find(i) != nums.end()){
streams.push_back({});
streams.back()<<"1 "<<i<<" "<<n+cnt<<"\n";
cnt++;
}else{
streams.push_back({});
streams.back()<<"3 "<<i<<"\n";
streams.push_back({});
streams.back()<<"2 "<<n+cnt<<" "<<n+cnt+1<<"\n";
cnt+=2;
}
}
cout<<streams.size()<<endl;
for(int i = 0; i<streams.size(); i++){
cout<<streams[i].str();
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <bits/stdc++.h> using namespace std; int main(){ int n, s; cin>>n>>s; set<int> nums; for(int i = 0; i<s; i++){ int a; cin>>a; nums.insert(a); } vector<stringstream> streams(1); int cnt = 1; if(nums.find(1) != nums.end()) streams.back()<<"1 1 1\n"; else streams.back()<<"3 1\n"; for(int i = 2; i<=n; i++){ if(nums.find(i) != nums.end()){ streams.push_back({}); streams.back()<<"1 "<<i<<" "<<n+cnt<<"\n"; cnt++; }else{ streams.push_back({}); streams.back()<<"3 "<<i<<"\n"; streams.push_back({}); streams.back()<<"2 "<<n+cnt<<" "<<n+cnt+1<<"\n"; cnt+=2; } } cout<<streams.size()<<endl; for(int i = 0; i<streams.size(); i++){ cout<<streams[i].str(); } } |
English