Submission #959998

#TimeUsernameProblemLanguageResultExecution timeMemory
959998pccPovjerenstvo (COI22_povjerenstvo)C++17
0 / 100
242 ms50632 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,popcnt,sse4") #define pii pair<int,int> #define fs first #define sc second #define ll long long const int mxn = 5e5+10; int N,M; vector<pii> paths[mxn]; int deg[mxn]; bitset<mxn> done; vector<int> v; vector<int> cc; int col[mxn]; void dfs(int now,int c){ cc.push_back(now); col[now] = c; for(auto [nxt,___]:paths[now]){ if(!col[nxt])dfs(nxt,-c); } return; } bool choose(int c){ for(auto &i:cc){ if(col[i] == c)continue; bool flag = false; for(auto [nxt,w]:paths[i]){ if(w == 1)flag = true; } if(!flag)return false; } return true; } void calc(int now){ cc.clear(); dfs(now,1); if(choose(1)){ for(auto &i:cc)if(col[i] == 1)v.push_back(i); } else if(choose(-1)){ for(auto &i:cc)if(col[i] == -1)v.push_back(i); } else{ cout<<-1; exit(0); } return; } int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin>>N>>M; for(int i = 1;i<=M;i++){ int a,b; cin>>a>>b; paths[a].push_back(pii(b,1)); paths[b].push_back(pii(a,-1)); } for(int i = 1;i<=N;i++){ if(!col[i])calc(i); } cout<<v.size()<<'\n'; for(auto &i:v)cout<<i<<' ';cout<<'\n'; return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:72:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   72 |  for(auto &i:v)cout<<i<<' ';cout<<'\n';
      |  ^~~
Main.cpp:72:29: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   72 |  for(auto &i:v)cout<<i<<' ';cout<<'\n';
      |                             ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...