#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(); } } |