제출 #434391

#제출 시각아이디문제언어결과실행 시간메모리
434391radaiosm7기지국 (IOI20_stations)C++17
69.87 / 100
1132 ms780 KiB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
int timer;
vector<int> labels;
vector<int> adj[1005];

void dfs(int x, int p=-1, int curr=0) {
  if (curr == 0) {
    labels[x] = timer++;
  }

  for (auto y : adj[x]) {
    if (y != p) dfs(y, x, curr^1);
  }

  if (curr == 1) {
    labels[x] = timer++;
  }
}

vector<int> label(int n, int k, vector<int> u, vector<int> v) {
  int timer = 0;
  labels.clear();
  labels.resize(n);
  for (int i=0; i < n; ++i) {
    adj[i].clear();
  }

  for (int i=0; i < n-1; ++i) {
    adj[u[i]].push_back(v[i]);
    adj[v[i]].push_back(u[i]);
  }

  dfs(0);

	return labels;
}

int find_next_station(int s, int t, vector<int> c) {
  if ((int)c.size() == 1) return c[0];

  else if (s > c[0]) {
    if (t <= c[0] || t > s) {
      return c[0];
    }

    else {
      return *--upper_bound(c.begin(), c.end(), t);
    }
  }

  else {
    if (t < s || t >= c.back()) {
      return c.back();
    }

    else {
      return *lower_bound(c.begin(), c.end(), t);
    }
  }
}

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

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:24:7: warning: unused variable 'timer' [-Wunused-variable]
   24 |   int timer = 0;
      |       ^~~~~
#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...