QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#413565#6745. Delete the TreeHHY_zZhu#WA 1ms3888kbC++203.2kb2024-05-17 18:50:562024-05-17 18:50:57

Judging History

你现在查看的是最新测评结果

  • [2024-05-17 18:50:57]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3888kb
  • [2024-05-17 18:50:56]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

struct nd{
    vector<int>ed;
    int col;
    int v;
    int fa;
}sg[505];

struct pt{
    int x;
    int y;
};

void add(int x,int y){
    sg[x].ed.push_back(y);
    sg[y].ed.push_back(x);
}
int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int n;
    cin>>n;
    for(int i=0;i<n-1;i++){
        int x,y;
        cin>>x>>y;
        add(x,y);
    }
    for(int i=1;i<=n;i++){
        sg[i].v=1;
    }
    int ndcnt=n;
    int opcnt=0;
    vector<int>op[505];
    while(ndcnt>0){
        int rt=0;
        opcnt++;
        /*
        cout<<"op:"<<opcnt<<'\n';
        for(int i=1;i<=n;i++){
            cout<<i<<' ';
            cout<<sg[i].ed.size()<<' '<<'Q';
            for(int j=0;j<sg[i].ed.size();j++){
                cout<<sg[i].ed[j]<<' ';
            }
            cout<<'\n';
        }
        */
        for(int i=1;i<=n;i++){
            if(sg[i].v){
                rt=i;
                break;
            }
        }
        for(int i=1;i<=n;i++){
            sg[i].fa=-1;
            sg[i].col=0;
        }
        vector<pt>sv;
        

        auto dfs = [&](auto self, int x) -> void {
            int col=1;
            if(sg[x].ed.size()>=3)col=0;
            for(int i=0;i<sg[x].ed.size();i++){
                int y=sg[x].ed[i];

                if(sg[x].fa==y){
                    continue;
                }
                sg[y].fa=x;
                self(self,y);
                if(sg[y].col)col=0;
            }
            sg[x].col=col;
            if(col==1){
                op[opcnt].push_back(x);
                if(sg[x].ed.size()==2){
                    int y=sg[x].ed[0],z=sg[x].ed[1];
                    sv.push_back({y,z});
                }
                sg[x].v=0;
            }
        };

        dfs(dfs,rt);
        for(int i=1;i<=n;i++){
            
            for(int j=0;j<sg[i].ed.size();j++){
                int flag=1;
                for(int k=0;k<op[opcnt].size();k++){
                    if(sg[i].ed[j]==op[opcnt][k]||i==op[opcnt][k]){
                        flag=0;
                    }
                }
                if(flag)
                sv.push_back({i,sg[i].ed[j]});
            }
        }
        for(int i=1;i<=n;i++)sg[i].ed.clear();
        for(int i=0;i<sv.size();i++){
            add(sv[i].x,sv[i].y);
        }
        for(int i=1;i<=n;i++){
            sort(sg[i].ed.begin(),sg[i].ed.end());
            sg[i].ed.resize(unique(sg[i].ed.begin(),sg[i].ed.end())-sg[i].ed.begin());
            
        }
        /*
        cout<<"ed:"<<opcnt<<'\n';
        for(int i=1;i<=n;i++){
            cout<<i<<' ';
            cout<<sg[i].ed.size()<<' '<<'Q';
            for(int j=0;j<sg[i].ed.size();j++){
                cout<<sg[i].ed[j]<<' ';
            }
            cout<<'\n';
        }
        */
        ndcnt-=op[opcnt].size();
    }
    assert(opcnt<=12);
    cout<<opcnt<<'\n';
    for(int i=1;i<=opcnt;i++){
        cout<<op[i].size()<<' ';
        for(int j=0;j<op[i].size();j++){
            cout<<op[i][j]<<' ';
        }
        cout<<'\n';
    }
}
    

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3628kb

input:

5
1 2
1 3
1 4
4 5

output:

3
3 2 3 5 
1 4 
1 1 

result:

ok 

Test #2:

score: 0
Accepted
time: 1ms
memory: 3604kb

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 183 32 334 254 331 348 54 430 275 410 360 468 140 179 93 327 128 365 122 43 46 399 398 269 130 227 412 61 295 98 30 197 397 95 192 266 48 310 283 127 123 7 154 317 302 158 65 218 306 191 309 210 20 190 204 484 182 429 362 99 92 347 39 488 58 115 228 8 346 111 386 498 408 259 289 333 256 352 26...

result:

ok 

Test #3:

score: 0
Accepted
time: 1ms
memory: 3888kb

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 254 337 248 189 330 498 193 89 125 93 327 417 278 312 310 463 478 185 143 253 272 277 91 404 53 68 64 424 78 458 72 5 177 156 218 48 433 137 256 245 329 333 146 131 391 94 237 413 406 65 431 441 233 377 168 118 242 298 259 285 35 63 336 344 260 483 494 465 428 386 313 186 109 414 79 191 440 34...

result:

ok 

Test #4:

score: 0
Accepted
time: 1ms
memory: 3724kb

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 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 55 270 253 152 362 371 404 89 47 ...

result:

ok 

Test #5:

score: 0
Accepted
time: 1ms
memory: 3668kb

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 497 262 297 341 357 356 234 113 471 263 427 260 278 362 370 304 3 5 463 313 391 73 418 472 361 41 282 374 142 90 404 392 333 412 315 44 401 325 355 250 67 107 318 274 66 478 275 112 170 196 277 33 375 272 51 32 383 123 239 197 187 420 233 307 402 439 168 329 181 205 344 445 139 403 365 221 474...

result:

ok 

Test #6:

score: 0
Accepted
time: 1ms
memory: 3680kb

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 95 437 337 152 185 484 165 41 322 334 32 118 232 57 329 89 482 54 461 433 226 183 229 102 468 253 328 115 452 470 210 90 403 55 123 206 251 236 98 290 471 301 22 167 124 179 310 79 205 492 245 113 276 38 241 33 46 488 312 169 345 466 122 129 272 161 143 282 379 462 293 263 63 224 493 318 99 36...

result:

ok 

Test #7:

score: 0
Accepted
time: 1ms
memory: 3712kb

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 463 344 167 429 366 225 430 150 43 371 486 27 178 276 112 252 422 77 415 83 61 172 369 437 223 411 402 180 347 38 418 79 32 202 469 6 407 266 318 284 286 317 433 64 311 81 476 255 8 466 393 164 319 197 248 484 195 388 392 497 439 94 295 52 278 412 316 351 498 152 350 41 244 166 160 47 253 322 ...

result:

ok 

Test #8:

score: 0
Accepted
time: 0ms
memory: 3884kb

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 70 486 80 94 391 292 344 180 349 466 477 361 396 307 129 366 330 439 200 257 315 483 245 276 121 150 173 2 433 85 181 469 256 331 243 263 298 360 446 345 489 309 92 10 347 227 143 24 151 452 365 65 209 142 112 420 29 87 53 139 216 233 229 206 481 421 341 392 403 252 488 84 147 368 141 49 4 428...

result:

ok 

Test #9:

score: 0
Accepted
time: 0ms
memory: 3632kb

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 93 367 438 314 332 152 443 471 315 342 459 460 462 211 341 191 329 185 350 468 493 363 224 35 253 212 86 204 186 262 193 275 427 141 88 149 409 466 279 173 422 292 103 328 465 169 64 213 117 73 480 229 205 322 44 301 303 454 399 496 426 14 436 359 249 345 231 187 55 302 221 451 268 347 290 135...

result:

ok 

Test #10:

score: 0
Accepted
time: 1ms
memory: 3548kb

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 310 238 297 60 123 25 52 22 283 118 141 178 226 271 492 170 103 35 362 295 293 7 142 169 162 257 10 8 277 195 290 168 434 240 417 215 201 194 420 279 454 134 206 2 324 191 55 390 13 373 109 154 500 237 270 488 67 256 94 448 87 46 401 479 296 264 108 76 331 336 179 38 452 326 174 470 243 419 20...

result:

ok 

Test #11:

score: 0
Accepted
time: 1ms
memory: 3624kb

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 12 391 9 5 294 338 126 477 103 139 150 417 36 184 179 365 124 215 114 303 123 469 64 347 231 482 380 376 465 226 283 437 320 159 397 282 258 402 292 227 153 154 26 225 495 74 125 462 209 193 81 302 108 485 372 173 316 214 234 337 408 383 58 304 117 453 228 232 169 162 371 156 457 186 293 243 4...

result:

ok 

Test #12:

score: -100
Wrong Answer
time: 1ms
memory: 3888kb

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 ...

output:

12
213 99 57 200 352 389 240 139 193 334 287 64 6 468 415 219 405 385 121 434 476 20 78 368 262 359 222 127 81 489 303 447 369 93 266 378 409 396 119 90 339 499 474 315 281 295 138 201 268 472 460 422 198 19 343 377 453 73 496 392 467 184 482 494 199 294 225 102 43 386 292 272 293 274 195 336 264 33...

result:

wrong answer Integer 12 violates the range [0, 10]