Submission #1005423

#TimeUsernameProblemLanguageResultExecution timeMemory
1005423AlmontherUntitled (POI11_imp)C++98
18 / 100
3086 ms1868 KiB
#include <bits/stdc++.h> #define suiii ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define ll long long #define co cout<< //#pragma GCC optimize("O3,Ofast,unroll-loops") //#pragma GCC target("avx2,sse3,sse4,avx") using namespace std; //stuff int n,m; vector<int>v[3005]; bitset<3005>curr,mat[3005],vis; int cnt=0; void rec(int x){ if(cnt==n/3){ for(int i=0;i<3005;i++){ if(curr[i]==1) co i<<' '; } exit(0); } if(x==n) return; if(n-x+cnt<n/3) return ; if((curr&mat[x])==curr){ curr[x]=1; cnt++; rec(x+1); cnt--; curr[x]=0; } rec(x+1); return; } void rec1(ll x){ if(x==n/3){ for(int i=0;i<3005;i++){ if(curr[i]==1) co i<<' '; } exit(0); } ll num=rand()%n+1; while(vis[num]||(curr&mat[num])!=curr) num=rand()%n+1; vis[num]=1; curr[num]=1; rec1(x+1); curr[num]=0; vis[num]=0; } void solve(){ cin>>n>>m; for(int i=0;i<m;i++){ ll a,b; cin>>a>>b; mat[a][b]=1; mat[b][a]=1; } if(n<=50) rec(0); else while(1) rec1(0); } int main() { suiii int t=1; // cin>>t; while(t--){ solve(); } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...