QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#323907#4829. Mark on a Graphhotboy27030 1ms4008kbC++142.5kb2024-02-10 14:06:542024-02-10 14:06:54

Judging History

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

  • [2024-02-10 14:06:54]
  • 评测
  • 测评结果:0
  • 用时:1ms
  • 内存:4008kb
  • [2024-02-10 14:06:54]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
#define pll pair <ll,ll>
#define fi first
#define se second
#define sz(a) (ll((a).size()))
#define BIT(mask,i) (((mask) >> (i))&1LL)
#define MASK(i) (1LL << (i))
ll n,m;
vector <ll> g[1010];
const ll check = 6;
int main(){
    ios_base::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr);
    cin>>n>>m;
    vector <pll> edge;
    for (ll i = 1;i <= m;i ++){
        ll u,v;
        cin>>u>>v;
        g[u].push_back(v);
        g[v].push_back(u);
        edge.push_back({u,v});
    }
    ll cnt[check]={};
    for (ll i = 1;i <= n;i ++){
        if (sz(g[i])<check)cnt[sz(g[i])]^=1;
    }
    ll sum = 0;
    for (ll i = 0;i < check;i ++)sum += cnt[i];
    if (sum!=0){
        cout<<"mark\n";
        vector <pll> del;
        for (ll i = 0;i < check;i ++){
//            cout<<i<<endl;
            ll sum = 0;
            for (ll j = 1;j <= n;j ++)sum += sz(g[j])==i;
            if (sum%2){
                bool ok = 0;
                for (ll j = 1;j <= n && !ok;j ++){
                    if (sz(g[j])==i+1){
                        for (auto x:g[j]){
                            if (sz(g[x])>i+1){
                                del.push_back({j,x});
//                                cout<<i<<' '<<j<<' '<<x<<' '<<sz(g[j])<<' '<<sz(g[x])<<'\n';
                                for (ll k = 0;k < sz(g[j]);k++){
                                    if (g[j][k]==x){
                                        g[j].erase(g[j].begin()+k);
                                    }
                                }
                                for (ll k = 0;k < sz(g[x]);k++){
                                    if (g[x][k]==j){
                                        g[x].erase(g[x].begin()+k);
                                    }
                                }
                                ok = 1;
                                break;
                            }
                        }
                    }
                }
                assert(ok);
            }
        }
//        memset(cnt,0,sizeof cnt);
//        for (ll i = 1;i <= n;i ++){
//            if (sz(g[i])<6)cnt[sz(g[i])]^=1;
//        }
//        assert(cnt[0]+cnt[1]+cnt[2]+cnt[3]+cnt[4]==0);
        cout<<sz(del)<<'\n';
        for (auto x:del)cout<<x.fi<<' '<<x.se<<'\n';
    }
    else{
        cout<<"ok";
    }
//    cout<<even<<'\n';
}


详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3808kb

input:

1000 3560
603 151
415 20
102 569
895 552
678 734
24 614
689 518
440 223
751 919
223 433
711 551
502 634
706 583
812 501
514 535
780 751
720 530
532 384
888 139
864 791
292 675
171 881
30 592
464 557
280 299
654 650
894 335
250 532
792 10
83 969
118 771
579 300
852 983
243 940
957 939
817 889
911 319...

output:

mark
3
501 812
32 575
1 488

input:

1000 3557
883 330
222 295
439 601
238 534
682 24
411 754
385 576
656 841
715 490
553 383
259 194
598 372
956 373
167 605
582 250
576 75
70 520
695 500
859 369
722 855
756 363
676 977
920 815
83 509
688 946
282 477
102 118
757 70
433 449
733 87
593 956
600 875
581 749
267 146
749 719
583 679
557 937
...

output:

ok

result:

ok all right

Test #2:

score: 100
Accepted
time: 1ms
memory: 3744kb

input:

1000 2000
457 335
160 497
464 992
892 255
853 3
308 301
970 363
541 299
89 418
425 128
626 827
603 854
484 874
755 295
607 483
798 552
356 850
320 357
254 940
675 901
168 525
301 636
520 555
773 910
343 701
889 966
218 529
909 950
71 64
682 284
424 138
721 792
670 544
386 72
654 909
725 235
592 437
...

output:

mark
1
8 747

input:

1000 1999
711 181
320 426
503 386
826 377
97 233
231 792
993 1
64 899
381 532
945 554
541 273
787 159
864 438
668 192
252 673
756 751
529 178
827 731
39 689
541 489
620 456
292 845
727 755
860 613
111 348
945 853
74 564
863 90
99 543
25 858
450 309
586 656
758 705
770 884
78 414
724 896
965 261
924 ...

output:

ok

result:

ok all right

Test #3:

score: 100
Accepted
time: 1ms
memory: 3876kb

input:

1000 5000
449 632
597 26
701 322
249 190
411 770
666 596
989 995
112 861
445 818
544 659
24 680
739 593
344 439
193 932
600 526
574 869
216 918
716 793
259 686
555 993
255 578
659 271
328 524
729 672
39 771
241 866
27 790
417 109
56 403
338 299
387 232
280 306
589 794
833 419
900 802
54 697
539 807
...

output:

mark
2
8 141
47 564

input:

1000 4998
551 533
737 842
283 299
171 208
770 340
170 148
361 374
747 56
608 544
914 503
689 276
45 106
858 748
442 843
152 387
647 865
396 945
345 377
684 171
287 864
835 341
749 138
380 529
242 116
792 121
953 215
286 464
314 956
458 321
279 533
419 141
137 42
98 228
74 870
246 797
256 552
634 530...

output:

ok

result:

ok all right

Test #4:

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

input:

1000 3156
347 398
792 278
754 442
413 757
391 130
636 625
207 437
81 415
47 974
887 779
524 619
379 894
868 594
653 919
29 117
123 867
632 505
648 147
130 420
495 876
637 659
882 348
462 878
282 646
398 525
419 224
926 448
305 934
855 570
396 345
774 918
336 123
502 491
984 783
845 142
790 594
754 4...

output:

mark
4
52 609
7 585
9 675
19 468

input:

1000 3152
496 759
406 439
654 583
845 121
909 56
213 734
883 467
159 221
128 944
114 341
59 604
346 326
300 494
150 447
660 986
101 811
455 976
738 816
843 648
608 674
761 910
309 418
980 885
544 355
474 786
392 886
28 441
766 778
856 876
533 668
636 974
879 34
423 841
710 958
8 548
884 857
611 741
...

output:

ok

result:

ok all right

Test #5:

score: 100
Accepted
time: 1ms
memory: 3808kb

input:

1000 3433
634 21
789 966
541 959
213 381
366 781
107 649
747 122
336 869
222 648
833 972
929 524
712 524
744 525
568 679
634 163
901 501
56 518
128 587
720 117
208 439
860 85
852 168
934 947
34 858
520 568
408 464
232 432
999 504
71 982
957 372
570 436
281 309
410 405
521 275
554 589
4 707
498 148
5...

output:

mark
5
1 373
147 849
45 105
3 882
15 650

input:

1000 3428
246 716
301 530
260 208
330 660
652 843
31 464
315 790
488 457
738 330
860 899
691 437
853 909
181 407
514 637
669 71
217 451
845 574
246 901
618 198
738 971
105 638
937 511
7 157
200 713
25 333
155 291
438 655
5 329
731 318
778 157
671 868
103 19
155 427
746 303
916 382
921 239
848 491
84...

output:

ok

result:

ok all right

Test #6:

score: 100
Accepted
time: 1ms
memory: 3716kb

input:

1000 3057
985 223
432 967
405 822
845 650
893 646
599 718
754 710
333 73
392 355
895 496
200 562
816 36
457 953
9 623
889 662
482 590
249 29
689 694
185 990
285 690
12 323
611 560
903 722
476 86
105 666
441 193
695 640
36 617
840 42
80 527
977 539
606 150
384 585
784 648
919 360
157 532
568 98
995 8...

output:

mark
2
9 593
5 66

input:

1000 3055
538 48
398 675
367 13
290 275
864 573
431 970
14 181
845 921
842 13
646 93
514 930
976 919
159 257
790 447
42 466
56 364
570 237
286 778
989 927
47 622
812 274
584 761
465 294
626 813
954 991
820 636
717 915
595 71
306 485
735 366
532 280
100 129
810 94
573 310
22 243
234 44
798 426
495 33...

output:

ok

result:

ok all right

Test #7:

score: 100
Accepted
time: 1ms
memory: 3728kb

input:

1000 3085
484 405
841 443
661 315
392 941
355 558
523 394
773 929
673 840
5 707
255 610
744 58
301 794
505 33
668 533
787 945
747 810
803 115
340 900
791 909
596 418
129 491
460 698
156 233
664 502
231 465
795 486
829 102
608 212
253 344
419 557
100 421
321 793
207 302
544 479
33 916
736 129
6 156
9...

output:

mark
3
7 553
10 529
2 629

input:

1000 3082
665 821
959 2
417 787
734 974
726 955
514 995
888 479
531 883
165 287
613 554
160 751
570 447
309 54
76 136
893 757
719 775
77 875
368 56
568 778
293 474
247 977
533 570
773 219
845 928
860 108
640 785
211 994
678 219
289 391
968 617
963 120
369 873
843 44
877 765
826 347
595 330
879 370
3...

output:

ok

result:

ok all right

Test #8:

score: 100
Accepted
time: 1ms
memory: 3848kb

input:

1000 4289
963 66
959 467
930 83
419 699
731 948
702 583
699 245
636 721
859 551
377 251
90 889
286 843
908 47
864 979
223 948
269 684
85 579
162 376
414 255
602 884
65 132
842 907
488 360
553 898
649 249
253 711
675 632
629 446
708 413
819 511
512 113
189 76
242 464
828 261
440 737
643 389
75 907
49...

output:

mark
2
69 894
59 796

input:

1000 4287
334 895
188 54
500 898
852 493
586 861
17 246
311 119
838 229
501 316
227 209
997 338
987 999
121 510
363 866
8 757
36 994
470 83
824 477
955 603
496 756
785 711
521 453
433 628
937 526
18 224
723 686
591 426
698 510
920 317
838 799
490 843
474 600
845 588
110 71
337 257
894 186
388 957
42...

output:

ok

result:

ok all right

Test #9:

score: 100
Accepted
time: 1ms
memory: 3820kb

input:

1000 4763
544 167
316 76
78 841
699 1
645 745
827 262
568 545
595 81
924 561
108 253
397 626
142 967
613 397
723 633
711 259
363 249
5 436
165 88
178 463
734 529
195 324
135 41
1000 136
215 967
371 638
588 753
542 909
633 106
537 852
111 232
303 500
892 461
868 300
772 667
40 172
956 575
613 163
933...

output:

mark
3
49 337
18 141
1 699

input:

1000 4760
491 979
131 467
220 877
624 556
275 833
625 783
147 3
310 545
156 743
617 710
686 431
591 898
759 837
754 918
137 762
942 500
604 444
857 515
705 394
969 219
873 313
636 90
578 370
912 94
261 767
787 841
803 396
762 743
847 744
148 479
872 341
149 585
396 746
14 388
696 116
680 162
38 539
...

output:

ok

result:

ok all right

Test #10:

score: 0
Stage 1: Program answer Runtime Error

input:

1000 4250
747 446
769 425
773 753
217 298
217 4
514 774
752 3
905 857
532 410
224 250
367 33
29 541
809 996
76 960
25 603
532 600
518 304
546 95
735 413
312 476
83 534
157 62
170 836
668 976
244 557
972 860
828 170
975 468
677 714
800 170
530 191
216 930
242 728
318 505
269 162
579 963
769 822
171 4...

output:


input:


output:


result: