제출 #1073795

#제출 시각아이디문제언어결과실행 시간메모리
1073795shezitt통행료 (IOI18_highway)C++14
5 / 100
9 ms856 KiB
#include "highway.h"
#include <bits/stdc++.h>

using ll = long long;
using namespace std;

#define pb push_back

void find_pair(int N, std::vector<int> U, std::vector<int> V, int A, int B) {
  int M = U.size();
  
  vector<int> tmp(M, 0);
  vector<bool> sirve(M, 1);

  ll W = ask(tmp);

  for(int i=0; i<M; ++i){
    tmp[i] = 1;
    ll w = ask(tmp);
    if(w == W){
      sirve[i] = 0;
    }
    tmp[i] = 0;
  }

  vector<vector<int>> adj(N+1);
  for(int i=0; i<M; ++i) if(sirve[i]){
    adj[U[i]].pb(V[i]);
    adj[V[i]].pb(U[i]);
  }

  auto dfs = [&](auto dfs, int at, int pa=-1) -> int {
    for(int u : adj[at]){ 
      if(u == pa) continue;
      return dfs(dfs, u, at);
    }
    return at;
  };

  int s = dfs(dfs, 0);  
  answer(0, s);

}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...