Submission #235597

#TimeUsernameProblemLanguageResultExecution timeMemory
235597dooweySob (COCI19_sob)C++14
0 / 110
1087 ms512 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pii; #define fi first #define se second #define mp make_pair #define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const int N = 505; int cnt[N]; bool ban[N]; bool use[N]; int main(){ fastIO; int n, m; cin >> n >> m; for(int i = 0 ; i < n; i ++ ){ for(int j = 0 ; j < n; j ++){ if((i & (m + j)) == i) cnt[i] ++ ; } } int low; for(int sol = 0; sol < n ; sol ++ ){ low = -1; for(int i = 0 ; i < n ; i ++ ){ if(ban[i]) continue; if(low == -1 || cnt[i] < cnt[low]){ low = i; } } if(cnt[low] == 0){ assert(0); return 0; } for(int j = 0 ; j < n; j ++ ){ if(use[j]) continue; if((low & (m + j)) == low){ cout << low << " " << m + j << "\n"; use[j]=true; ban[low]=true; for(int x = 0; x < n; x ++ ){ if((x & (m + j)) == x) cnt[x]--; } break; } } } 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...