이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "stations.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define all(x) (x).begin(),(x).end()
#define MEM(x,a) memset((x),a,sizeof((x)))
#define F first
#define S second
#define imx INT_MAX
const long long MMX = (long long)(1e18);
typedef long long LL;
typedef pair<int,int> pii;
int nn,co[1005];
bitset<1005>go;
vector<int>v[1005];
void dfs(int N)
{
go[N]=true;
co[N]=nn*1000;
for(int i=0;i<v[N].size();i++)
{
if(!go[v[N][i]])
{
dfs(v[N][i]);
}
}
co[N]+=nn;
nn++;
return;
}
vector<int>label(int n,int k,vector<int>a,vector<int>b)
{
vector<int>labels(n);
nn=0;
for(int i=0;i<1005;i++)v[i].clear(),go[i]=false;
for(int i=0;i<a.size();i++)
{
v[a[i]].pb(b[i]);
v[b[i]].pb(a[i]);
}
dfs(0);
for(int i=0;i<n;i++)labels[i]=co[i];
return labels;
}
int find_next_station(int s,int t,vector<int>c)
{
int ss=s/1000,se=s%1000,ts=t/1000,te=t%1000,cs,ce,re;
//printf("%d %d %d %d\n",ss,se,ts,te);
if(ss<=ts&&se>=te)
{
for(int i=0;i<c.size();i++)
{
cs=c[i]/1000;
ce=c[i]%1000;
//printf("{%d %d}\n",cs,ce);
if(ss<=cs&&se>=ce)
{
if(cs<=ts&&ce>=te)re=c[i];
}
}
}
else
{
for(int i=0;i<c.size();i++)
{
cs=c[i]/1000;
ce=c[i]%1000;
//printf("[%d %d]\n",cs,ce);
if(cs<=ss&&ce>=se)re=c[i];
}
}
return re;
}
컴파일 시 표준 에러 (stderr) 메시지
stations.cpp: In function 'void dfs(int)':
stations.cpp:20:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
20 | for(int i=0;i<v[N].size();i++)
| ~^~~~~~~~~~~~
stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:36:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
36 | for(int i=0;i<a.size();i++)
| ~^~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:52:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
52 | for(int i=0;i<c.size();i++)
| ~^~~~~~~~~
stations.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<c.size();i++)
| ~^~~~~~~~~
stations.cpp:73:9: warning: 're' may be used uninitialized in this function [-Wmaybe-uninitialized]
73 | return re;
| ^~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |