Submission #1003717

#TimeUsernameProblemLanguageResultExecution timeMemory
1003717leanchecMalnaRISC (COI21_malnarisc)C++17
0 / 100
1 ms348 KiB
#include<bits/stdc++.h> using namespace std; string a="CMPSWP "; vector<string> resp; string cl=""; bool usou[110]={}; void compare(int n1, int b){ if(usou[n1] || usou[b]){ resp.push_back(cl); cl=""; for(int i=1; i<=100; i++) usou[i]=false; } string aux=a; aux+="R"; aux+=to_string(n1); aux+=" R"; aux+=to_string(b); aux+=" "; usou[n1]=true; usou[b]=true; cl+=aux; } void bitonicMerge(int lo, int n){ if(n>1){ int m=1; while(n>=(1<<(m+1))) m<<=1; for(int i=lo; i<lo+n-m; i++) compare(i, i+m); bitonicMerge(lo, m); bitonicMerge(lo+m, n-m); } } void bitonicsort(int lo, int n){ if(n>1){ int m=n/2; bitonicsort(lo, m); bitonicsort(lo+m, n-m); bitonicMerge(lo, n); } } int main(){ int n; cin >> n; bitonicsort(1, n); cout << resp.size() << endl; for(auto x:resp) cout << x << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...