| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1155891 | AlgorithmWarrior | 기지국 (IOI20_stations) | C++20 | 299 ms | 564 KiB |
#include "stations.h"
#include <cstdio>
#include <cassert>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
void dfs(int nod,int tata,bool tip,vector<int>&labels,int& time,vector<vector<int>>&tree){
if(tip)
labels[nod]=++time;
for(auto fiu : tree[nod])
if(fiu!=tata)
dfs(fiu,nod,!tip,labels,time,tree);
if(!tip)
labels[nod]=++time;
}
vector<int>label(int n,int k,vector<int>u,vector<int>v) {
vector<vector<int>>tree(n);
vector<int>labels(n);
int i;
for(i=0;i<n-1;++i){
tree[u[i]].push_back(v[i]);
tree[v[i]].push_back(u[i]);
}
int time=-1;
dfs(0,-1,1,labels,time,tree);
return labels;
}
int find_next_station(int s,int t,vector<int>c) {
if(s>c.back()){
if(t<c[0] || t>s)
return c[0];
int i;
for(i=(int)c.size()-1;i>=0;--i)
if(c[i]<=t)
return c[i];
}
else{
if(t<s || t>c.back())
return c.back();
int i;
for(i=0;i<(int)c.size();++i)
if(c[i]>=t)
return c[i];
}
}컴파일 시 표준 에러 (stderr) 메시지
| # | 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... | ||||
