QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#820494 | #9713. Kill the tree | Loxilante | WA | 152ms | 34108kb | C++20 | 1.3kb | 2024-12-18 21:37:01 | 2024-12-18 21:37:03 |
Judging History
answer
#include <bits/stdc++.h>
#define rep(i, l, r) for(int i = l; i < r; i++)
#define hrp(i, l, r) for(int i = l; i <= r; i++)
#define rev(i, r, l) for(int i = r; i >= l; i--)
#define int ll
using namespace std;
typedef long long ll;
template<typename tn = int> tn next(void) { tn k; cin>>k; return k; }
#ifndef LOCAL
#define D(...) 0
#define I(...) 0
#endif
const int U = 7e5;
int cen[U], mxs[U], siz[U], fa[U];
vector<int> edge[U];
bool chkmin(int&a, int b) { return a > b ? a = b, 1 : 0; }
void dfs(int e, int f)
{
siz[e] = 1; cen[e] = e; fa[e] = f;
for(auto y: edge[e]) if (y != f) dfs(y, e), mxs[e] = max(mxs[e], siz[y]), siz[e] += siz[y];
for(auto y: edge[e]) if (y != f)
{
int now = cen[y];
while(now != e)
{
if (max(mxs[now], siz[e]-siz[now]) <= siz[e]/2) { cen[e] = now; break; }
else now = fa[now];
}
}
}
signed main(void)
{
#ifdef LOCAL
// freopen("C:\\Users\\Loxil\\Desktop\\IN.txt", "r", stdin);
// freopen("C:\\Users\\Loxil\\Desktop\\OUT.txt", "w", stdout);
#endif
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
rep(i, 1, n) { int f, t; cin>>f>>t; edge[f].push_back(t); edge[t].push_back(f); }
dfs(1, -1);
hrp(i, 1, n) cout<<cen[i]<<endl;
return 0;
}
/*
*/
詳細信息
Test #1:
score: 0
Wrong Answer
time: 152ms
memory: 34108kb
input:
200000 42924 18271 60536 154257 107175 95680 196335 71607 158051 155259 110869 30974 143595 43516 4228 138046 26249 183847 123888 199873 15009 25362 166527 175160 15257 67159 124779 199363 148904 54047 5988 18123 58281 40739 44562 143880 72819 132492 137782 29662 130741 78276 55073 93292 82700 18328...
output:
134385 143670 126220 108393 95313 116080 141180 147983 7428 161963 3879 178499 162544 144413 127262 188325 171802 43558 28179 125217 186651 176397 26425 26982 30063 128965 148036 141733 115691 3491 8560 195673 157186 59629 151346 26305 179308 49505 109185 35638 197352 56126 57109 113226 113988 19933...
result:
wrong answer 1st numbers differ - expected: '1', found: '134385'