제출 #321883

#제출 시각아이디문제언어결과실행 시간메모리
321883wildturtle기지국 (IOI20_stations)C++14
10 / 100
1067 ms1108 KiB
#include "stations.h" #include<bits/stdc++.h> using namespace std; int A[1003],l,in[1003],out[1003],don[1003],mp[1003]; vector <int> v1[1003]; void dfs(int x,int y,int z) { l++; in[x]=l; don[x]=z; for(int i=0;i<v1[x].size();i++) { if(v1[x][i]==y) continue; dfs(v1[x][i],x,z+1); } l++; out[x]=l; } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { std::vector<int> labels(n); for(int i=0;i<n;i++) { v1[i].clear(); } l=0; for(int i=0;i<n-1;i++) { v1[u[i]].push_back(v[i]); v1[v[i]].push_back(u[i]); } dfs(0,-1,0); for(int i=0;i<n;i++) { if(don[i]%2==0) A[i]=in[i]; else A[i]=out[i]; } sort(A,A+n); for(int i=0;i<n;i++) { mp[A[i]]=i; } for(int i=0;i<n;i++) { if(don[i]%2==0) labels[i]=mp[in[i]]; else labels[i]=mp[out[i]]; } return labels; } int find_next_station(int s, int t, std::vector<int> c) { if(s<c[0]) { for(int i=0;i<c.size()-1;i++) { if(i==0) { if(s+1<=t && t<=c[i]) return c[i]; } else if(c[i-1]+1<=t && t<=c[i]) return c[i]; } return c[c.size()-1]; } else { for(int i=0;i<c.size();i++) { if(i==c.size()-1) { if(c[i]<=t && t<=s-1) return c[i]; } else if(c[i]<=t && t<=c[i+1]-1) return c[i]; } return c[0]; } }

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

stations.cpp: In function 'void dfs(int, int, int)':
stations.cpp:10:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for(int i=0;i<v1[x].size();i++) {
      |                 ~^~~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:44:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |         for(int i=0;i<c.size()-1;i++) {
      |                     ~^~~~~~~~~~~
stations.cpp:53:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         for(int i=0;i<c.size();i++) {
      |                     ~^~~~~~~~~
stations.cpp:54:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |             if(i==c.size()-1) {
      |                ~^~~~~~~~~~~~
#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...