QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#412309 | #6745. Delete the Tree | Ynoiynoi | WA | 1ms | 4256kb | C++17 | 1.6kb | 2024-05-16 11:41:43 | 2024-05-16 11:41:45 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N=500+10;
int n,f[N],tot,rt;
bool del[N];
set<int>e[N];
vector<int>tmp;
vector<vector<int>>ans;
void dfs(int x,int fa)
{
f[x]=fa;
if(fa) e[x].erase(fa);
for(int y:e[x]) dfs(y,x);
}
void dfs2(int x)
{
if(e[x].size()==0)
{
del[x]=1,tmp.push_back(x);
}
for(int y:e[x]) dfs2(y);
if(e[x].size()==1&&!del[*e[x].begin()])
{
del[x]=1,tmp.push_back(x);
}
else if(x==rt&&e[x].size()==2&&!del[*e[x].begin()]&&!del[*++e[x].begin()])
{
del[x]=1,tmp.push_back(x);
}
}
int main()
{
// freopen("1.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<n;++i)
{
int x,y; scanf("%d%d",&x,&y);
e[x].insert(y),e[y].insert(x);
}
srand(time(0));
for(int i=1;i<=n;++i)
{
if(e[i].size()>1)
{
rt=i;
}
}
dfs(rt,0);
while(tot<n)
{
tmp.clear();
// printf("-begin\n");
dfs2(rt);
// printf("-end\n");
for(int x:tmp)
{
if(x==rt)
{
if(e[x].size()==0) rt=0;
else if(e[x].size()==1) rt=*e[x].begin();
else
{
int son1=*e[x].begin(),son2=*++e[x].begin();
f[son1]=f[son2]=0,e[son1].insert(son2),rt=son1;
}
continue;
}
int fa=f[x],son=e[x].empty()?0:(*e[x].begin());
if(fa)
{
e[fa].erase(x);
if(son) e[fa].insert(son);
}
if(son) f[son]=fa;
}
ans.push_back(tmp);
tot+=tmp.size();
// printf("tot = %d\n",tot);
}
if(ans.size()>10) while(1);
printf("%d\n",ans.size());
for(vector<int>now:ans)
{
printf("%d ",now.size());
for(int x:now) printf("%d ",x);
puts("");
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3864kb
input:
5 1 2 1 3 1 4 4 5
output:
3 3 2 3 5 1 1 1 4
result:
ok
Test #2:
score: 0
Accepted
time: 1ms
memory: 3984kb
input:
500 183 443 32 443 334 443 254 443 331 443 348 443 54 443 430 443 275 443 410 443 360 443 443 468 140 443 179 443 93 443 327 443 128 443 365 443 122 443 43 443 46 443 399 443 398 443 269 443 130 443 227 443 412 443 61 443 295 443 98 443 30 443 197 443 397 443 95 443 192 443 266 443 48 443 310 443 28...
output:
2 499 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10...
result:
ok
Test #3:
score: 0
Accepted
time: 1ms
memory: 3924kb
input:
500 80 180 80 254 1 180 80 337 180 323 80 248 180 205 80 189 180 480 80 330 180 454 80 498 142 180 80 193 180 346 80 89 180 389 80 125 180 232 80 93 180 228 80 327 180 357 80 417 180 362 80 278 180 316 80 312 163 180 80 310 176 180 80 463 180 210 80 478 180 294 80 185 124 180 80 143 180 339 80 253 1...
output:
3 498 1 2 4 6 9 11 12 13 14 16 17 19 22 24 25 26 29 30 31 36 37 38 39 40 41 42 44 45 47 49 52 57 58 59 60 66 67 69 70 71 73 74 75 3 5 7 8 10 15 18 20 21 23 27 28 32 33 34 35 43 46 48 50 51 53 54 55 56 61 62 63 64 65 68 72 76 77 78 79 83 86 87 88 89 91 93 94 95 96 98 106 109 111 114 118 120 123 125 1...
result:
ok
Test #4:
score: 0
Accepted
time: 0ms
memory: 3984kb
input:
500 387 488 301 488 301 413 13 413 13 265 176 265 176 398 74 398 74 241 241 415 386 415 386 448 210 448 210 285 147 285 147 264 19 264 19 314 314 335 54 335 54 261 261 484 425 484 350 425 156 350 156 164 164 420 8 420 8 309 230 309 230 441 408 441 183 408 183 410 204 410 204 318 151 318 151 328 328 ...
output:
9 250 232 220 354 372 278 260 201 497 387 301 13 176 74 415 448 285 264 314 54 484 350 164 8 230 408 410 318 328 494 111 21 477 273 133 310 78 480 192 417 471 266 432 424 269 12 308 226 333 234 104 70 434 457 406 179 473 239 227 190 365 79 81 123 416 483 80 338 467 5 470 22 188 212 347 476 332 341 5...
result:
ok
Test #5:
score: 0
Accepted
time: 1ms
memory: 4252kb
input:
500 147 209 104 147 13 209 209 466 104 485 17 104 13 214 13 179 151 466 176 466 130 485 286 485 17 359 17 178 214 486 55 214 179 350 179 327 151 167 151 498 146 176 102 176 99 130 130 232 286 294 286 389 56 359 330 359 178 488 178 441 440 486 210 486 55 157 55 458 237 350 350 352 327 371 317 327 167...
output:
9 251 6 20 184 417 19 367 123 383 197 239 233 307 187 420 272 375 32 51 170 196 33 277 44 315 333 412 325 401 250 355 67 107 274 318 66 478 112 275 3 5 313 463 418 472 73 391 41 361 282 374 90 142 392 404 263 471 260 427 304 370 278 362 113 234 356 357 262 497 297 341 221 365 139 403 386 470 180 474...
result:
ok
Test #6:
score: 0
Accepted
time: 0ms
memory: 4252kb
input:
500 323 449 449 474 198 449 431 449 69 449 336 449 402 449 240 449 43 449 82 449 335 449 86 449 427 449 220 449 26 449 449 477 449 465 73 449 325 449 1 449 144 449 432 449 203 449 443 449 95 323 323 437 323 337 152 323 185 323 323 484 165 323 41 323 322 323 323 334 32 323 118 323 232 323 57 323 323 ...
output:
3 480 12 16 24 40 47 51 72 84 100 114 145 171 190 201 238 287 306 320 330 342 343 356 382 445 1 3 7 10 14 31 60 107 116 193 233 256 257 266 283 291 295 319 357 363 381 408 429 439 441 494 2 4 6 56 121 135 137 157 174 197 202 239 250 273 289 305 326 355 370 380 399 411 447 451 487 17 34 64 65 83 108 ...
result:
ok
Test #7:
score: 0
Accepted
time: 1ms
memory: 4256kb
input:
500 274 432 133 274 274 491 274 455 207 274 274 315 265 274 10 274 203 274 274 289 274 474 374 432 414 432 116 274 385 414 274 364 1 491 10 365 432 493 10 306 374 463 5 116 302 385 265 285 127 315 86 127 127 246 282 374 98 302 98 206 282 344 127 391 127 231 62 231 33 231 86 104 211 365 194 206 194 4...
output:
9 274 166 41 244 152 141 316 2 45 319 108 24 89 459 355 447 12 53 288 192 425 481 272 17 198 60 136 328 296 201 421 156 410 101 140 336 417 50 383 66 409 420 113 249 239 84 90 490 229 143 237 494 283 226 327 57 78 406 449 255 64 369 6 407 266 437 180 347 223 402 411 79 32 202 38 418 469 318 83 77 41...
result:
ok
Test #8:
score: -100
Wrong Answer
time: 1ms
memory: 3960kb
input:
500 50 287 287 496 64 287 287 454 149 287 63 287 287 372 108 287 52 287 287 320 287 406 155 287 287 294 128 287 17 287 259 287 6 287 54 294 128 462 247 287 161 287 128 440 172 287 171 287 156 287 397 496 108 270 350 397 287 432 7 259 54 183 280 320 473 496 50 88 432 494 54 195 79 287 50 94 41 320 70...
output:
7 281 107 39 45 248 37 448 230 399 285 302 357 170 412 62 43 133 441 135 210 139 216 233 229 29 112 209 142 420 87 53 292 391 24 151 10 129 330 366 2 85 243 256 331 360 263 298 181 469 433 446 345 489 121 150 276 245 257 315 483 173 439 200 396 361 349 466 477 180 307 309 92 347 227 143 452 365 344 ...
result:
wrong answer