Submission #1811005
Source Code Expand
#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #include <vector> #define travel(x, i) for (int i = fir[x]; i; i = e[i].nxt) #define rep(i, x, y) for (int i = (x); i <= (y); i ++) using namespace std; typedef long long LL; const int N = 2e5 + 5; namespace Graph2 { struct edge { int nxt, to; } e[N << 1]; int fir[N], cnt = 0, dep[N], fa[N][18]; inline void addedge(int x, int y) { e[++ cnt] = (edge){fir[x], y}; fir[x] = cnt; } inline void Dfs(int x, int f) { dep[x] = dep[f] + 1; fa[x][0] = f; rep(i, 1, 17) fa[x][i] = fa[fa[x][i - 1]][i - 1]; travel(x, i) if (e[i].to != f) Dfs(e[i].to, x); } inline int LCA(int x, int y) { if (dep[x] < dep[y]) swap(x, y); for (int i = 17; (~ i) && dep[x] != dep[y]; i --) if (dep[fa[x][i]] >= dep[y]) x = fa[x][i]; if (x == y) return x; for (int i = 17; (~ i) && fa[x][0] != fa[y][0]; i --) if (fa[x][i] != fa[y][i]) { x = fa[x][i]; y = fa[y][i]; } return fa[x][0]; } inline int Dis(int x, int y) { return dep[x] + dep[y] - (dep[LCA(x, y)] << 1); } } namespace Graph1 { struct edge { int nxt, to; } e[N << 1]; int fir[N], cnt = 0, dep[N], MAX; bool safe[N], flag; inline void addedge(int x, int y) { e[++ cnt] = (edge){fir[x], y}; fir[x] = cnt; } inline void Dfs(int x, int f) { if (flag) return; dep[x] = dep[f] + 1; if (Graph2 :: dep[x] <= dep[x]) return; MAX = max(MAX, max(dep[x], Graph2 :: dep[x]) << 1); if (safe[x]) { flag = 1; return; } travel(x, i) if (e[i].to != f) Dfs(e[i].to, x); } } using namespace Graph1; int main() { int n, x, y, u, v; scanf("%d%d%d", &n, &x, &y); dep[0] = -1; Graph2 :: dep[0] = -1; rep(i, 1, n - 1) { scanf("%d%d", &u, &v); addedge(u, v); addedge(v, u); } rep(i, 1, n - 1) { scanf("%d%d", &u, &v); Graph2 :: addedge(u, v); Graph2 :: addedge(v, u); } Graph2 :: Dfs(y, 0); rep(i, 1, n) { travel(i, j) { if (Graph2 :: Dis(i, e[j].to) >= 3) safe[i] = 1; } } Dfs(x, 0); if (flag) puts("-1"); else printf("%d\n", MAX); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Sugigma: The Showdown |
User | The_Unbeatable |
Language | C++14 (GCC 5.4.1) |
Score | 1400 |
Code Size | 2251 Byte |
Status | AC |
Exec Time | 212 ms |
Memory | 27904 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:77:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d", &n, &x, &y); ^ ./Main.cpp:81:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &u, &v); ^ ./Main.cpp:86:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &u, &v); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1400 / 1400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0, example1, example2, example3, example4 |
All | doublestar0, doublestar1, doublestar2, doublestar3, doublestar4, doublestar5, doublestar6, doublestar7, example0, example1, example2, example3, example4, giri0, giri1, giri2, giri3, giri4, giri5, giri6, giri7, giri8, giri9, maxrand0, maxrand1, maxrand2, maxrand3, maxrand4, maxrand5, maxrand6, maxrand7, maxrand8, maxrand9, narashi0, narashi1, narashi2, narashi3, narashi4, narashi5, narashi6, narashi7, narashi8, narashi9, ok0, ok1, ok2, ok3, ok4, ok5, ok6, ok7, ok8, ok9, ouh0, ouh1, ouh2, ouh3, ouh4, ouh5, ouh6, ouh7, ouh8, ouh9, same0, same1, same2, same3, same4, same5, same6, same7, same8, same9, sameline0, sameline1, sameline2, sameline3, sameline4, sameline5, sameline6, sameline7, sameline8, sameline9, star0, star1, star2, star3, star4, star5, star6, star7, star8, star9, supersmall0, supersmall1, supersmall2, supersmall3, supersmall4, supersmall5, supersmall6, supersmall7, supersmall8, supersmall9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
doublestar0 | AC | 112 ms | 23040 KB |
doublestar1 | AC | 115 ms | 22784 KB |
doublestar2 | AC | 113 ms | 22912 KB |
doublestar3 | AC | 111 ms | 22784 KB |
doublestar4 | AC | 117 ms | 23040 KB |
doublestar5 | AC | 115 ms | 23040 KB |
doublestar6 | AC | 109 ms | 22784 KB |
doublestar7 | AC | 107 ms | 22784 KB |
example0 | AC | 2 ms | 6400 KB |
example1 | AC | 2 ms | 6400 KB |
example2 | AC | 2 ms | 6400 KB |
example3 | AC | 2 ms | 6400 KB |
example4 | AC | 2 ms | 6400 KB |
giri0 | AC | 141 ms | 23808 KB |
giri1 | AC | 143 ms | 23680 KB |
giri2 | AC | 143 ms | 23680 KB |
giri3 | AC | 141 ms | 23680 KB |
giri4 | AC | 156 ms | 23680 KB |
giri5 | AC | 163 ms | 23808 KB |
giri6 | AC | 149 ms | 23808 KB |
giri7 | AC | 149 ms | 23680 KB |
giri8 | AC | 148 ms | 23680 KB |
giri9 | AC | 154 ms | 23680 KB |
maxrand0 | AC | 178 ms | 23040 KB |
maxrand1 | AC | 173 ms | 23040 KB |
maxrand2 | AC | 169 ms | 23040 KB |
maxrand3 | AC | 173 ms | 23040 KB |
maxrand4 | AC | 182 ms | 22912 KB |
maxrand5 | AC | 172 ms | 22912 KB |
maxrand6 | AC | 171 ms | 22912 KB |
maxrand7 | AC | 173 ms | 23040 KB |
maxrand8 | AC | 164 ms | 22912 KB |
maxrand9 | AC | 167 ms | 23040 KB |
narashi0 | AC | 150 ms | 23552 KB |
narashi1 | AC | 150 ms | 23680 KB |
narashi2 | AC | 147 ms | 23552 KB |
narashi3 | AC | 147 ms | 23680 KB |
narashi4 | AC | 154 ms | 23808 KB |
narashi5 | AC | 145 ms | 23680 KB |
narashi6 | AC | 149 ms | 23808 KB |
narashi7 | AC | 150 ms | 23808 KB |
narashi8 | AC | 170 ms | 23808 KB |
narashi9 | AC | 148 ms | 23552 KB |
ok0 | AC | 198 ms | 27264 KB |
ok1 | AC | 212 ms | 27776 KB |
ok2 | AC | 206 ms | 26368 KB |
ok3 | AC | 196 ms | 27904 KB |
ok4 | AC | 181 ms | 25472 KB |
ok5 | AC | 198 ms | 26240 KB |
ok6 | AC | 193 ms | 26624 KB |
ok7 | AC | 186 ms | 25344 KB |
ok8 | AC | 203 ms | 27136 KB |
ok9 | AC | 193 ms | 26752 KB |
ouh0 | AC | 147 ms | 23808 KB |
ouh1 | AC | 153 ms | 24448 KB |
ouh2 | AC | 156 ms | 24832 KB |
ouh3 | AC | 168 ms | 25088 KB |
ouh4 | AC | 163 ms | 24832 KB |
ouh5 | AC | 181 ms | 26752 KB |
ouh6 | AC | 190 ms | 27264 KB |
ouh7 | AC | 162 ms | 24576 KB |
ouh8 | AC | 182 ms | 26496 KB |
ouh9 | AC | 186 ms | 27264 KB |
same0 | AC | 142 ms | 23552 KB |
same1 | AC | 135 ms | 23552 KB |
same2 | AC | 142 ms | 23680 KB |
same3 | AC | 140 ms | 23680 KB |
same4 | AC | 129 ms | 23552 KB |
same5 | AC | 142 ms | 23552 KB |
same6 | AC | 130 ms | 23552 KB |
same7 | AC | 142 ms | 23552 KB |
same8 | AC | 129 ms | 23424 KB |
same9 | AC | 141 ms | 23680 KB |
sameline0 | AC | 187 ms | 27392 KB |
sameline1 | AC | 209 ms | 27520 KB |
sameline2 | AC | 191 ms | 26496 KB |
sameline3 | AC | 193 ms | 26880 KB |
sameline4 | AC | 196 ms | 27392 KB |
sameline5 | AC | 201 ms | 27264 KB |
sameline6 | AC | 186 ms | 25984 KB |
sameline7 | AC | 191 ms | 27136 KB |
sameline8 | AC | 199 ms | 26624 KB |
sameline9 | AC | 198 ms | 25984 KB |
star0 | AC | 84 ms | 23552 KB |
star1 | AC | 85 ms | 23552 KB |
star2 | AC | 83 ms | 22784 KB |
star3 | AC | 84 ms | 23552 KB |
star4 | AC | 84 ms | 23552 KB |
star5 | AC | 87 ms | 23552 KB |
star6 | AC | 85 ms | 22784 KB |
star7 | AC | 86 ms | 23552 KB |
star8 | AC | 87 ms | 23552 KB |
star9 | AC | 87 ms | 23680 KB |
supersmall0 | AC | 2 ms | 6400 KB |
supersmall1 | AC | 2 ms | 6400 KB |
supersmall2 | AC | 2 ms | 6400 KB |
supersmall3 | AC | 2 ms | 6400 KB |
supersmall4 | AC | 2 ms | 6400 KB |
supersmall5 | AC | 2 ms | 6400 KB |
supersmall6 | AC | 2 ms | 6400 KB |
supersmall7 | AC | 2 ms | 6400 KB |
supersmall8 | AC | 2 ms | 6400 KB |
supersmall9 | AC | 2 ms | 6400 KB |