Submission #739452

#TimeUsernameProblemLanguageResultExecution timeMemory
739452Ahmed57Untitled (POI11_smi)C++14
10 / 100
3076 ms262144 KiB
#include <bits/stdc++.h> using namespace std; vector<int> v;int in[100001],vis[100001]; vector<int> adj[100001];int cnt = 0; map<pair<int,int>,int> mp; void dfs(int i){ vis[i] = 1; while(in[i]){ if(mp[{i,adj[i][in[i]-1]}]==0){ mp[{i,adj[i][in[i]-1]}] = 1; mp[{adj[i][in[i]-1],i}] = 1; dfs(adj[i][--in[i]]); }else in[i]--; } v.push_back(i); } int main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,m; cin>>n>>m; for(int i = 0;i<m;i++){ int a,b,c,d; cin>>a>>b>>c>>d; if(c==d)continue; adj[a].push_back(b); adj[b].push_back(a); in[a]++;in[b]++; } for(int i = 1;i<=n;i++){ if(in[i]%2){ cout<<"NIE\n"; return 0; } } vector<vector<int>> all; int de[n+1] = {0}; for(int i = 1;i<=n;i++){ if(!vis[i]){ v.clear(); dfs(i); reverse(v.begin(),v.end()); vector<int> tmp; for(auto j:v){ tmp.push_back(j); if(de[j]==i){ all.push_back(tmp); tmp.clear();tmp.push_back(j); } de[j]=i; } } } cout<<all.size()<<"\n"; for(auto i:all){cout<<i.size()-1<<" ";for(auto j:i)cout<<j<<" ";cout<<endl;} 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...