#define _CRT_SECURE_NO_DEPRECATE
#include <bitset>
#include <array>
#include <cstdlib>
#include <cctype>
#include <cassert>
#include <cstdio>
#include <climits>
#include <iostream>
#include <vector>
#include <set>
#include <sstream>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <unordered_map>
#include <unordered_set>
#include <map>
#include <stack>
#include <deque>
#include <tuple>
#include <queue>
#include <exception>
#include <functional>
#include <iomanip>
#ifndef __GNUC__
#include <intrin.h>
#endif
#ifndef ONLINE_JUDGE
#include <conio.h>
#endif
typedef long long ll;
using namespace std;
vector<vector<int>> e;
vector<int> p;
vector<int> v;
vector<int> color;
bool sost[2 << 16];
vector<vector<unordered_map<int, pair<int, int>>>> um1;
vector<int> len;
vector<int> lvl;
int uk = 0;
void dfsobh(int pos, int last, unordered_map<int, pair<int, int>>& uk, int val1, int all)
{
uk.insert({ pos,{val1,all} });
for (size_t i = 0; i < e[pos].size(); i++)
{
int to = e[pos][i];
if (to == last || color[to])
continue;
dfsobh(to, pos, uk, val1 + v[to], all + 1);
}
}
bool cmp(int a, int b)
{
return len[a] > len[b];
}
int dfs(int pos, int last, int curlen)
{
int buf;
for (size_t i = 0; i < e[pos].size(); i++)
{
int to = e[pos][i];
if (to == last || color[to])
continue;
buf = len[to] = dfs(to, pos, curlen);
}
sort(e[pos].begin(), e[pos].end());
if (buf >= curlen / 2)
{
color[pos] = 1;
for (size_t i = 0; i < e[pos].size(); i++)
{
int to = e[pos][i];
if (to == last || color[to])
continue;
um1[pos].push_back(unordered_map<int, pair<int, int>>());
dfsobh(to, pos, um1[pos][um1[pos].size() - 1], 0, 0);
p[to] = pos;
lvl[to] = lvl[pos] + 1;
}
for (size_t i = 0; i < e[pos].size(); i++)
{
int to = e[pos][i];
if (color[to])
continue;
if (to == last)
dfs(to, pos, curlen - buf);
else
dfs(to, pos, len[to]);
}
}
else return buf;
}
void zapr(int a, int b)
{
int sa = a, sb = b;
if (lvl[a] > lvl[b])
swap(a, b);
while (lvl[a] < lvl[b])
a = p[a];
while (a != b)
a = p[a], b = p[b];
int ida = -1, idb = -1;
if (sa == a || sb == a)
{
if (sb == a)
swap(a, b);
ida = um1[a].size();
}
if (ida == -1)
{
for (size_t i = 0; i < um1[a].size(); i++)
{
if (um1[a][i].find(ida) != um1[a][i].end())
{
ida = i;
break;
}
}
}
for (size_t i = 0; i < um1[a].size(); i++)
{
if (um1[a][i].find(idb) != um1[a][i].end())
{
idb = i;
break;
}
}
v[a] = !v[a];
if (ida == um1[a].size())
{
}
return
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
/*freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);*/
#endif // ONLINE_JUDGE
int n;
cin >> n;
e.resize(n);
len.resize(n);
lvl.resize(n);
um1.resize(n);
for (size_t i = 0; i < n; i++)
{
int a, b;
cin >> a >> b;
a--; b--;
e[a].push_back(b);
e[b].push_back(a);
}
color.resize(n);
p.resize(n);
dfs(0, -1, n);
int q;
cin >> q;
for (size_t i = 0; i < q; i++)
{
int a, b;
cin >> a >> b;
zapr(a,b)
}
}
I2RlZmluZSBfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUKCiNpbmNsdWRlIDxiaXRzZXQ+CiNpbmNsdWRlIDxhcnJheT4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxjY3R5cGU+CiNpbmNsdWRlIDxjYXNzZXJ0PgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y2xpbWl0cz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CiNpbmNsdWRlIDx1bm9yZGVyZWRfc2V0PgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDxkZXF1ZT4KI2luY2x1ZGUgPHR1cGxlPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxleGNlcHRpb24+CiNpbmNsdWRlIDxmdW5jdGlvbmFsPgojaW5jbHVkZSA8aW9tYW5pcD4KI2lmbmRlZiBfX0dOVUNfXwojaW5jbHVkZSA8aW50cmluLmg+CiNlbmRpZgojaWZuZGVmIE9OTElORV9KVURHRQojaW5jbHVkZSA8Y29uaW8uaD4KI2VuZGlmCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2ZWN0b3I8dmVjdG9yPGludD4+IGU7CnZlY3RvcjxpbnQ+IHA7CnZlY3RvcjxpbnQ+IHY7CnZlY3RvcjxpbnQ+IGNvbG9yOwpib29sIHNvc3RbMiA8PCAxNl07CnZlY3Rvcjx2ZWN0b3I8dW5vcmRlcmVkX21hcDxpbnQsIHBhaXI8aW50LCBpbnQ+Pj4+IHVtMTsKdmVjdG9yPGludD4gbGVuOwp2ZWN0b3I8aW50PiBsdmw7CmludCB1ayA9IDA7CnZvaWQgZGZzb2JoKGludCBwb3MsIGludCBsYXN0LCB1bm9yZGVyZWRfbWFwPGludCwgcGFpcjxpbnQsIGludD4+JiB1aywgaW50IHZhbDEsIGludCBhbGwpCnsKCXVrLmluc2VydCh7IHBvcyx7dmFsMSxhbGx9IH0pOwoJZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlW3Bvc10uc2l6ZSgpOyBpKyspCgl7CgkJaW50IHRvID0gZVtwb3NdW2ldOwoJCWlmICh0byA9PSBsYXN0IHx8IGNvbG9yW3RvXSkKCQkJY29udGludWU7CgkJZGZzb2JoKHRvLCBwb3MsIHVrLCB2YWwxICsgdlt0b10sIGFsbCArIDEpOwoJfQp9CmJvb2wgY21wKGludCBhLCBpbnQgYikKewoJcmV0dXJuIGxlblthXSA+IGxlbltiXTsKfQppbnQgZGZzKGludCBwb3MsIGludCBsYXN0LCBpbnQgY3VybGVuKQp7CglpbnQgYnVmOwoJZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlW3Bvc10uc2l6ZSgpOyBpKyspCgl7CgkJaW50IHRvID0gZVtwb3NdW2ldOwoJCWlmICh0byA9PSBsYXN0IHx8IGNvbG9yW3RvXSkKCQkJY29udGludWU7CgkJYnVmID0gbGVuW3RvXSA9IGRmcyh0bywgcG9zLCBjdXJsZW4pOwoJfQoJc29ydChlW3Bvc10uYmVnaW4oKSwgZVtwb3NdLmVuZCgpKTsKCWlmIChidWYgPj0gY3VybGVuIC8gMikKCXsKCQljb2xvcltwb3NdID0gMTsKCQlmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVbcG9zXS5zaXplKCk7IGkrKykKCQl7CgkJCWludCB0byA9IGVbcG9zXVtpXTsKCQkJaWYgKHRvID09IGxhc3QgfHwgY29sb3JbdG9dKQoJCQkJY29udGludWU7CgkJCXVtMVtwb3NdLnB1c2hfYmFjayh1bm9yZGVyZWRfbWFwPGludCwgcGFpcjxpbnQsIGludD4+KCkpOwoJCQlkZnNvYmgodG8sIHBvcywgdW0xW3Bvc11bdW0xW3Bvc10uc2l6ZSgpIC0gMV0sIDAsIDApOwoJCQlwW3RvXSA9IHBvczsKCQkJbHZsW3RvXSA9IGx2bFtwb3NdICsgMTsKCQl9CgkJZm9yIChzaXplX3QgaSA9IDA7IGkgPCBlW3Bvc10uc2l6ZSgpOyBpKyspCgkJewoJCQlpbnQgdG8gPSBlW3Bvc11baV07CgkJCWlmIChjb2xvclt0b10pCgkJCQljb250aW51ZTsKCQkJaWYgKHRvID09IGxhc3QpCgkJCQlkZnModG8sIHBvcywgY3VybGVuIC0gYnVmKTsKCQkJZWxzZQoJCQkJZGZzKHRvLCBwb3MsIGxlblt0b10pOwoJCX0KCX0KCWVsc2UgcmV0dXJuIGJ1ZjsKfQp2b2lkIHphcHIoaW50IGEsIGludCBiKQp7CglpbnQgc2EgPSBhLCBzYiA9IGI7CglpZiAobHZsW2FdID4gbHZsW2JdKQoJCXN3YXAoYSwgYik7Cgl3aGlsZSAobHZsW2FdIDwgbHZsW2JdKQoJCWEgPSBwW2FdOwoJd2hpbGUgKGEgIT0gYikKCQlhID0gcFthXSwgYiA9IHBbYl07CglpbnQgaWRhID0gLTEsIGlkYiA9IC0xOwoJaWYgKHNhID09IGEgfHwgc2IgPT0gYSkKCXsKCQlpZiAoc2IgPT0gYSkKCQkJc3dhcChhLCBiKTsKCQlpZGEgPSB1bTFbYV0uc2l6ZSgpOwoJfQoJaWYgKGlkYSA9PSAtMSkKCXsKCQlmb3IgKHNpemVfdCBpID0gMDsgaSA8IHVtMVthXS5zaXplKCk7IGkrKykKCQl7CgkJCWlmICh1bTFbYV1baV0uZmluZChpZGEpICE9IHVtMVthXVtpXS5lbmQoKSkKCQkJewoJCQkJaWRhID0gaTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQoJZm9yIChzaXplX3QgaSA9IDA7IGkgPCB1bTFbYV0uc2l6ZSgpOyBpKyspCgl7CgkJaWYgKHVtMVthXVtpXS5maW5kKGlkYikgIT0gdW0xW2FdW2ldLmVuZCgpKQoJCXsKCQkJaWRiID0gaTsKCQkJYnJlYWs7CgkJfQoJfQoJdlthXSA9ICF2W2FdOwoJaWYgKGlkYSA9PSB1bTFbYV0uc2l6ZSgpKQoJewoKCX0KCXJldHVybiAKCn0KaW50IG1haW4oKQp7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCWNpbi50aWUoTlVMTCk7IAljb3V0LnRpZShOVUxMKTsKI2lmbmRlZiBPTkxJTkVfSlVER0UgCglmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKCWZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbHNlIAoJLypmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKCWZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7Ki8KI2VuZGlmIC8vIE9OTElORV9KVURHRQoJaW50IG47CgljaW4gPj4gbjsKCWUucmVzaXplKG4pOwkKCWxlbi5yZXNpemUobik7CglsdmwucmVzaXplKG4pOwoJdW0xLnJlc2l6ZShuKTsKCWZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbjsgaSsrKQoJewoJCWludCBhLCBiOwoJCWNpbiA+PiBhID4+IGI7CgkJYS0tOyBiLS07CgkJZVthXS5wdXNoX2JhY2soYik7CgkJZVtiXS5wdXNoX2JhY2soYSk7Cgl9Cgljb2xvci5yZXNpemUobik7CglwLnJlc2l6ZShuKTsKCWRmcygwLCAtMSwgbik7CglpbnQgcTsKCWNpbiA+PiBxOwoJZm9yIChzaXplX3QgaSA9IDA7IGkgPCBxOyBpKyspCgl7CgkJaW50IGEsIGI7CgkJY2luID4+IGEgPj4gYjsKCQl6YXByKGEsYikKCX0KfQ==
Main.java:1: error: illegal character: '#'
#define _CRT_SECURE_NO_DEPRECATE
^
Main.java:3: error: illegal character: '#'
#include <bitset>
^
Main.java:4: error: illegal character: '#'
#include <array>
^
Main.java:5: error: illegal character: '#'
#include <cstdlib>
^
Main.java:6: error: illegal character: '#'
#include <cctype>
^
Main.java:7: error: illegal character: '#'
#include <cassert>
^
Main.java:8: error: illegal character: '#'
#include <cstdio>
^
Main.java:9: error: illegal character: '#'
#include <climits>
^
Main.java:10: error: illegal character: '#'
#include <iostream>
^
Main.java:11: error: illegal character: '#'
#include <vector>
^
Main.java:12: error: illegal character: '#'
#include <set>
^
Main.java:13: error: illegal character: '#'
#include <sstream>
^
Main.java:14: error: illegal character: '#'
#include <string>
^
Main.java:15: error: illegal character: '#'
#include <cstring>
^
Main.java:16: error: illegal character: '#'
#include <cmath>
^
Main.java:17: error: illegal character: '#'
#include <algorithm>
^
Main.java:18: error: illegal character: '#'
#include <unordered_map>
^
Main.java:19: error: illegal character: '#'
#include <unordered_set>
^
Main.java:20: error: illegal character: '#'
#include <map>
^
Main.java:21: error: illegal character: '#'
#include <stack>
^
Main.java:22: error: illegal character: '#'
#include <deque>
^
Main.java:23: error: illegal character: '#'
#include <tuple>
^
Main.java:24: error: illegal character: '#'
#include <queue>
^
Main.java:25: error: illegal character: '#'
#include <exception>
^
Main.java:26: error: illegal character: '#'
#include <functional>
^
Main.java:27: error: illegal character: '#'
#include <iomanip>
^
Main.java:28: error: illegal character: '#'
#ifndef __GNUC__
^
Main.java:29: error: illegal character: '#'
#include <intrin.h>
^
Main.java:30: error: illegal character: '#'
#endif
^
Main.java:31: error: illegal character: '#'
#ifndef ONLINE_JUDGE
^
Main.java:32: error: illegal character: '#'
#include <conio.h>
^
Main.java:33: error: illegal character: '#'
#endif
^
Main.java:35: error: class, interface, or enum expected
using namespace std;
^
Main.java:36: error: class, interface, or enum expected
vector<vector<int>> e;
^
Main.java:37: error: class, interface, or enum expected
vector<int> p;
^
Main.java:38: error: class, interface, or enum expected
vector<int> v;
^
Main.java:39: error: class, interface, or enum expected
vector<int> color;
^
Main.java:40: error: class, interface, or enum expected
bool sost[2 << 16];
^
Main.java:41: error: class, interface, or enum expected
vector<vector<unordered_map<int, pair<int, int>>>> um1;
^
Main.java:42: error: class, interface, or enum expected
vector<int> len;
^
Main.java:43: error: class, interface, or enum expected
vector<int> lvl;
^
Main.java:44: error: class, interface, or enum expected
int uk = 0;
^
Main.java:45: error: class, interface, or enum expected
void dfsobh(int pos, int last, unordered_map<int, pair<int, int>>& uk, int val1, int all)
^
Main.java:48: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:48: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:48: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:51: error: class, interface, or enum expected
if (to == last || color[to])
^
Main.java:53: error: class, interface, or enum expected
dfsobh(to, pos, uk, val1 + v[to], all + 1);
^
Main.java:54: error: class, interface, or enum expected
}
^
Main.java:59: error: class, interface, or enum expected
}
^
Main.java:63: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:63: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:63: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:66: error: class, interface, or enum expected
if (to == last || color[to])
^
Main.java:68: error: class, interface, or enum expected
buf = len[to] = dfs(to, pos, curlen);
^
Main.java:69: error: class, interface, or enum expected
}
^
Main.java:71: error: class, interface, or enum expected
if (buf >= curlen / 2)
^
Main.java:74: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:74: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:74: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:77: error: class, interface, or enum expected
if (to == last || color[to])
^
Main.java:79: error: class, interface, or enum expected
um1[pos].push_back(unordered_map<int, pair<int, int>>());
^
Main.java:80: error: class, interface, or enum expected
dfsobh(to, pos, um1[pos][um1[pos].size() - 1], 0, 0);
^
Main.java:81: error: class, interface, or enum expected
p[to] = pos;
^
Main.java:82: error: class, interface, or enum expected
lvl[to] = lvl[pos] + 1;
^
Main.java:83: error: class, interface, or enum expected
}
^
Main.java:84: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:84: error: class, interface, or enum expected
for (size_t i = 0; i < e[pos].size(); i++)
^
Main.java:87: error: class, interface, or enum expected
if (color[to])
^
Main.java:89: error: class, interface, or enum expected
if (to == last)
^
Main.java:91: error: class, interface, or enum expected
else
^
Main.java:93: error: class, interface, or enum expected
}
^
Main.java:96: error: class, interface, or enum expected
}
^
Main.java:100: error: class, interface, or enum expected
if (lvl[a] > lvl[b])
^
Main.java:102: error: class, interface, or enum expected
while (lvl[a] < lvl[b])
^
Main.java:104: error: class, interface, or enum expected
while (a != b)
^
Main.java:106: error: class, interface, or enum expected
int ida = -1, idb = -1;
^
Main.java:107: error: class, interface, or enum expected
if (sa == a || sb == a)
^
Main.java:111: error: class, interface, or enum expected
ida = um1[a].size();
^
Main.java:112: error: class, interface, or enum expected
}
^
Main.java:115: error: class, interface, or enum expected
for (size_t i = 0; i < um1[a].size(); i++)
^
Main.java:115: error: class, interface, or enum expected
for (size_t i = 0; i < um1[a].size(); i++)
^
Main.java:120: error: class, interface, or enum expected
break;
^
Main.java:121: error: class, interface, or enum expected
}
^
Main.java:124: error: class, interface, or enum expected
for (size_t i = 0; i < um1[a].size(); i++)
^
Main.java:124: error: class, interface, or enum expected
for (size_t i = 0; i < um1[a].size(); i++)
^
Main.java:129: error: class, interface, or enum expected
break;
^
Main.java:130: error: class, interface, or enum expected
}
^
Main.java:133: error: class, interface, or enum expected
if (ida == um1[a].size())
^
Main.java:143: error: class, interface, or enum expected
cin.tie(NULL); cout.tie(NULL);
^
Main.java:143: error: class, interface, or enum expected
cin.tie(NULL); cout.tie(NULL);
^
Main.java:144: error: illegal character: '#'
#ifndef ONLINE_JUDGE
^
Main.java:144: error: class, interface, or enum expected
#ifndef ONLINE_JUDGE
^
Main.java:146: error: class, interface, or enum expected
freopen("output.txt", "w", stdout);
^
Main.java:147: error: illegal character: '#'
#else
^
Main.java:150: error: illegal character: '#'
#endif // ONLINE_JUDGE
^
Main.java:151: error: class, interface, or enum expected
int n;
^
Main.java:152: error: class, interface, or enum expected
cin >> n;
^
Main.java:153: error: class, interface, or enum expected
e.resize(n);
^
Main.java:154: error: class, interface, or enum expected
len.resize(n);
^
100 errors