제출 #1002862

#제출 시각아이디문제언어결과실행 시간메모리
1002862CabralbonzaoMalnaRISC (COI21_malnarisc)C++17
0 / 100
10 ms860 KiB
#include<bits/stdc++.h> using namespace std; #define N 110 #define INFLL 2000000000000000020 #define pb push_back typedef long long ll; typedef pair<ll,ll> pll; bool mat[N][N]; bool blocked[N]; vector<pll>query[N*N]; vector<ll>ord; void cria(ll n) { ord.clear(); ll i=0,r; while(i<n) { r=rand(); r%=n-i; r++; ord.pb(r); i++; } return; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n,ops,q=0,i,j,sz,a; cin >> n; ops=n*(n-1); for(i=1;i<=n;i++) { mat[i][i]=true; } while(ops) { for(i=1;i<=n;i++) blocked[i]=false; for(i=1;i<=n;i++) { if(blocked[i]) continue; cria(n); for(a=0;a<n;a++) { j=ord[a]; if(blocked[j] || mat[i][j]) continue; blocked[i]=true; blocked[j]=true; mat[i][j]=true; mat[j][i]=true; ops-=2; query[q].pb({i,j}); break; } } q++; } cout << q << endl; for(i=0;i<q;i++) { sz=(ll)(query[i].size()); for(j=0;j<sz;j++) { cout << "CMPSWP R" << query[i][j].first << " R" << query[i][j].second << ((j==sz-1) ? '\n' : ' '); } } return 0; }
#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...