제출 #1326401

#제출 시각아이디문제언어결과실행 시간메모리
1326401eri16Simurgh (IOI17_simurgh)C++20
0 / 100
1 ms568 KiB
#include<bits/stdc++.h> #include "simurgh.h" using namespace std; using ll = long long; vector <int> adj[250]; vector <int> ans(60000,0); int vis[250]; map <pair<int,int>,int> mp; int color=0; vector <int> edges[250]; void dfs(int node, int parent){ for (auto child : adj[node]){ if (vis[child]==-1 && child!=parent){ vis[child]=color; edges[color].push_back(mp[{node,child}]); } } } /* int count_common_roads(vector<int> r){ for (auto x : r){ cout<<x<<' '; } int y; cin>>y; return y; } */ vector<int> find_roads(int n, vector<int> angfang, vector<int> ende){ int m = angfang.size(); for (int i=0; i<m; i++){ adj[angfang[i]].push_back(ende[i]); adj[ende[i]].push_back(angfang[i]); mp[{angfang[i],ende[i]}]=i; mp[{ende[i],angfang[i]}]=i; } for (int node=0; node<n; node++){ color=0; for (int i=0; i<n; i++){ vis[i]=-1; } for (auto child : adj[node]){ if (vis[child]==-1){ vis[child]=color; edges[color].push_back(mp[{node,child}]); dfs(child,node); color++; } } cout<<"node "<<node<<"\n"; for (int i=0; i<color; i++){ cout<<"color "<<i<<"\n"; vector <int> query; for (int j=0; j<color; j++){ if (j!=i){ for (auto x : edges[j]){ query.push_back(x); } } } for (int j=1; j<edges[i].size(); j++){ query.push_back(edges[i][j]); } int mx=0; for (auto child : adj[node]){ if (vis[child]==i){ query.push_back(mp[{node,child}]); int tq = count_common_roads(query); query.pop_back(); ans[mp[{node,child}]]=tq; mx=max(mx,0); } } for (auto child : adj[node]){ if (vis[child]==i){ if (ans[mp[{node,child}]]==mx){ ans[mp[{node,child}]]=1; } else{ ans[mp[{node,child}]]=-1; } } } } for (int i=0; i<color; i++){ edges[i].clear(); } } vector <int> submission; for (int i=0; i<m; i++){ if (ans[i]==1){ submission.push_back(i); } } if (submission.size()==n-1){return submission;} else{ //forced abortion //int y=0; //int x=1/y; return submission; } }
#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...