# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
497776 |
2021-12-23T19:13:09 Z |
inksamurai |
Sob (COCI19_sob) |
C++17 |
|
2 ms |
972 KB |
#include <bits/stdc++.h>
#define fi first
#define se second
#define pb push_back
#define sz(a) (int)a.size()
#define all(a) a.begin(),a.end()
#define rep(i,n) for(int i=0;i<n;i++)
#define crep(i,x,n) for(int i=x;i<n;i++)
#define drep(i,n) for(int i=n-1;i>=0;i--)
#define vec(...) vector<__VA_ARGS__>
#define _32bB6rn ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
typedef long long ll;
typedef long double ld;
using pii=pair<int,int>;
using vi=vector<int>;
int main(){
_32bB6rn;
int n,m;
cin>>n>>m;
assert(n+m<=1000);
vi a,b;
rep(i,n){
a.pb(i);
b.pb(m+i);
}
vec(set<int>) adj(n);
rep(i,n){
rep(j,n){
int x=a[i],y=b[j];
if((x&y)==x){
adj[i].insert(j);
}
}
}
vi usd(n,0);
vec(pii) pans;
while(true){
int mn=1e9,x=-1;
rep(v,n){
if(usd[v]) continue;
if(sz(adj[v])<mn){
mn=sz(adj[v]);
x=v;
}
}
if(x==-1) break;
assert(sz(adj[x])>0);
auto it=adj[x].begin();
int y=*it;
pans.pb({x,y});
usd[x]=1;
rep(v,n){
if(usd[v]) continue;
if(adj[v].find(y)!=adj[v].end()){
adj[v].erase(adj[v].find(y));
}
}
}
for(auto p : pans){
cout<<a[p.fi]<<" "<<b[p.se]<<"\n";
}
//
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
460 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
436 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Runtime error |
2 ms |
972 KB |
Execution killed with signal 6 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
460 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |