제출 #980792

#제출 시각아이디문제언어결과실행 시간메모리
980792rumbin어르신 집배원 (BOI14_postmen)C++17
0 / 100
4 ms944 KiB
#include <bits/stdc++.h> using namespace std; vector<set<int>> E; vector<vector<int>> A; vector<int> V,P,S; int t = 1; void dfs(int u, int p, int s) { auto i = E[u].begin(); while(!E[u].empty()) { int v= *i; E[v].erase(E[v].find(u)); E[u].erase(i++); dfs(v, u, s); } P.push_back(u); } void trace(int i) { int k = A.size(); A.push_back({}); A[k].push_back(P[i]); V[i] = 1; for(int j=i+1;j<S[i]; j++) { V[j] = 1; if(S[j] != -1 && S[j] < S[i]) { trace(j); j = S[j]; j--; } else A[k].push_back(P[j]); } } int main() { int N,M; cin>>N>>M; E.assign(N+1,{}); V.assign(N+1,false); for(int i=0; i<M; i++) { int u,v; cin>>u>>v; E[u].insert(v); E[v].insert(u); } dfs(1,0,1); S.assign(P.size(),-1); V.assign(P.size(), 0); for(int i=0; i<P.size(); i++) { if(V[P[i]] != -1) S[V[P[i]]] = i; V[P[i]] = i; } for(int i=0; i<P.size(); i++) if(!V[i]&&S[i] != -1) trace(i); for(int i=0; i<A.size(); i++) { for(int j=0; j<A[i].size(); j++) cout<<A[i][j]<<' '; cout<<endl; } }

컴파일 시 표준 에러 (stderr) 메시지

postmen.cpp: In function 'int main()':
postmen.cpp:59:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |  for(int i=0; i<P.size(); i++)
      |               ~^~~~~~~~~
postmen.cpp:65:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |  for(int i=0; i<P.size(); i++)
      |               ~^~~~~~~~~
postmen.cpp:68:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |  for(int i=0; i<A.size(); i++)
      |               ~^~~~~~~~~
postmen.cpp:70:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   70 |   for(int j=0; j<A[i].size(); j++)
      |                ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...