QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#412314 | #6745. Delete the Tree | Ynoiynoi | TL | 1ms | 4088kb | C++17 | 1.6kb | 2024-05-16 11:46:22 | 2024-05-16 11:46:22 |
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[son2]=0,f[son1]=son2,e[son2].insert(son1),rt=son2;
// f[son1]=0,f[son2]=son1,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;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3776kb
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: 4080kb
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: 3728kb
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: 1ms
memory: 3772kb
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: 4088kb
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: 1ms
memory: 3784kb
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: 3804kb
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: 0
Accepted
time: 1ms
memory: 3736kb
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:
9 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:
ok
Test #9:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
500 93 209 209 367 209 438 209 314 209 332 152 209 209 443 209 471 209 315 209 342 209 459 209 460 209 462 209 211 209 341 191 209 209 329 185 209 209 350 209 468 209 493 209 363 209 224 35 209 209 253 209 212 86 209 204 209 186 209 209 262 193 209 209 275 209 427 141 209 88 209 149 209 209 409 209 ...
output:
9 349 168 384 337 114 277 162 243 102 2 13 14 15 24 28 32 33 35 37 38 42 44 46 47 50 51 54 55 59 61 63 64 67 69 73 78 53 270 299 121 434 81 412 71 498 92 137 87 43 119 452 455 494 48 397 374 151 245 192 161 17 335 52 288 297 202 283 371 226 396 10 172 330 390 123 386 353 271 176 25 280 357 34 108 22...
result:
ok
Test #10:
score: 0
Accepted
time: 1ms
memory: 3732kb
input:
500 130 139 139 400 130 318 267 318 318 389 21 400 21 36 21 26 267 321 321 401 18 321 200 389 200 307 66 200 36 274 95 274 96 274 26 357 192 357 220 357 385 401 290 385 46 385 18 53 53 301 53 231 166 307 166 287 3 166 66 212 212 410 212 438 95 155 151 155 155 305 41 96 41 478 41 148 112 192 112 137 ...
output:
8 333 103 170 35 295 362 293 7 10 257 8 142 169 162 277 195 60 123 25 238 310 297 52 22 283 118 141 178 226 271 492 290 261 473 308 91 480 394 250 14 117 45 202 214 272 335 101 329 408 323 82 415 449 228 127 485 113 152 189 432 298 487 231 348 371 435 80 205 450 157 345 451 245 48 50 255 378 106 38 ...
result:
ok
Test #11:
score: 0
Accepted
time: 1ms
memory: 3872kb
input:
500 117 264 117 456 175 264 264 500 2 456 218 456 175 480 175 343 265 500 432 500 2 475 2 487 63 218 218 421 377 480 444 480 84 343 151 343 265 281 133 265 252 432 181 432 346 475 445 475 16 487 330 487 25 63 63 102 79 421 101 421 266 377 142 377 409 444 434 444 84 291 84 284 8 151 151 333 281 358 2...
output:
9 251 5 9 12 391 294 338 126 477 150 417 103 139 36 184 179 365 114 303 124 215 123 469 64 347 376 380 231 482 226 465 283 437 159 320 282 397 258 402 227 292 153 154 26 225 74 495 125 462 81 302 193 209 108 485 173 372 383 408 58 304 234 337 214 316 117 94 452 203 382 49 172 392 427 42 260 254 478 ...
result:
ok
Test #12:
score: -100
Time Limit Exceeded
input:
500 33 453 291 377 33 291 73 424 215 392 66 496 66 215 309 424 66 309 246 291 246 309 154 467 454 482 110 184 110 454 154 455 110 455 56 199 155 494 56 155 294 311 102 109 105 225 105 109 289 311 105 289 155 452 289 452 347 455 347 452 113 246 113 347 43 463 232 292 83 386 83 232 299 463 83 299 293 ...