# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
952170 | vjudge1 | Tropical Garden (IOI11_garden) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
#include<iostream>
#include "garden.h"
#include "gardenlib.h"
//这是一道交互题
using namespace std;
int mmax[150007], sec[150007], dist[300007][2], head[300007], eid, c[2], st;
struct edge {
int to, next;
}e[300007];
inline void insert(register int a, register int b) {
e[++eid].to = b; e[eid].next = head[a]; head[a] = eid;
}
inline void dfs1(register int u) {
//printf("%d\n", u);
for(register int i = head[u]; i; i = e[i].next) {
int v = e[i].to;
if(dist[v][0] != 0x3f3f3f3f) {
//if(v != st << 1) {cerr << "Abort\n"; exit(0);}
c[0] = dist[u][0] + 1 - dist[v][0];
continue;
}
dist[v][0] = dist[u][0] + 1;
dfs1(v);
}
}
inline void dfs2(register int u) {
for(register int i = head[u]; i; i = e[i].next) {
int v = e[i].to;
if