QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#323676#4829. Mark on a Graphdanielkou58550 2ms4372kbC++141.3kb2024-02-10 10:11:382024-02-10 10:11:38

Judging History

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

  • [2024-02-10 10:11:38]
  • 评测
  • 测评结果:0
  • 用时:2ms
  • 内存:4372kb
  • [2024-02-10 10:11:38]
  • 提交

answer

// Source: https://usaco.guide/general/io

#include <cstdlib>
#include <cstring>
#include <iostream>
#include <utility>
#include <vector>
#include <chrono>
#include <algorithm>
#include <map>
#include <set>
#include <queue>
#include <string>
#include <bitset>
#include <random>

#define int long long
#define sz(x) (int) x.size()
#define all(x) x.begin(), x.end()

using namespace std;

signed main() {
    cin.tie(0) -> sync_with_stdio(false);

    int N, M; cin >> N >> M;

	vector<int> deg(N, 0);
	vector<set<int>> adj(N);

	for (int i = 0; i < M; i++) {
		int a, b; cin >> a >> b; a--; b--;

		adj[a].insert(b); adj[b].insert(a); deg[a]++; deg[b]++;
	}

	priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;
	priority_queue<pair<int, int>, vector<pair<int, int>>, less<pair<int, int>>> best;

	for (int i = 0; i < N; i++) {
		pq.push({deg[i], i}); best.push({deg[i], i});
	}

	auto p = best.top(); best.pop();

	if (abs(p.first - best.top().first) >= 4) {
		cout << "ok" << "\n";
		return 0;
	}

	cout << "mark" << "\n";

	cout << 5 << "\n";

	for (int i = 0; i < 5; i++) {
		while (true) {
			auto q = pq.top(); pq.pop();

			if (!adj[p.second].count(q.second)) {
				cout << p.second + 1 << " " << q.second + 1 << "\n";
				adj[p.second].insert(q.second);
				break;
			}
		}
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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
5
733 880
733 501
733 655
733 691
733 762

input:

1000 3565
626 311
295 222
665 298
534 909
682 582
706 833
155 683
656 841
184 286
392 381
86 259
63 633
37 355
770 790
484 763
209 250
693 401
224 873
974 302
521 380
368 520
676 977
920 112
175 831
715 526
692 125
654 102
70 757
464 840
87 733
956 373
600 137
178 201
182 394
201 34
975 583
557 937
...

output:

ok

result:

ok all right

Test #2:

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

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
5
761 114
761 224
761 250
761 279
761 311

input:

1000 2005
711 181
320 426
386 503
377 826
97 233
792 231
1 993
440 112
532 381
81 879
505 764
37 6
935 217
424 667
252 673
751 756
178 529
731 827
689 39
764 431
620 139
763 804
727 755
904 500
999 663
53 985
564 74
863 90
543 99
25 858
450 298
411 674
705 758
569 980
414 78
164 502
633 94
50 924
51...

output:

ok

result:

ok all right

Test #3:

score: 100
Accepted
time: 2ms
memory: 4180kb

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
5
869 98
869 231
869 673
869 8
869 514

input:

1000 5005
551 153
467 786
785 219
208 346
802 740
428 127
150 361
435 479
24 121
968 75
699 578
106 119
23 570
128 182
917 352
647 492
128 752
345 228
786 421
13 996
854 465
890 582
471 103
780 461
326 859
516 1
62 839
138 888
321 569
181 533
207 306
5 115
344 252
781 886
629 274
129 462
530 634
843...

output:

ok

result:

ok all right

Test #4:

score: 100
Accepted
time: 2ms
memory: 3964kb

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
5
418 964
418 52
418 256
418 271
418 518

input:

1000 3161
540 785
256 35
856 187
342 814
169 154
990 212
612 359
712 549
970 271
606 872
441 28
468 773
111 685
856 876
394 426
609 811
7 738
668 74
481 64
925 338
529 865
235 503
853 843
669 329
697 339
106 45
403 342
295 871
861 501
617 957
817 310
879 919
461 421
127 255
923 765
125 517
589 882
5...

output:

ok

result:

ok all right

Test #5:

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

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
797 214
797 1
797 4
797 104
797 330

input:

1000 3438
246 901
724 301
344 682
342 660
387 898
735 811
18 372
457 390
783 903
563 502
266 521
845 45
607 750
514 238
573 669
13 109
227 300
341 848
446 656
800 435
638 957
40 776
505 114
117 713
978 892
188 541
683 655
311 347
131 959
157 802
86 971
802 441
697 539
844 42
82 305
513 661
97 6
478 ...

output:

ok

result:

ok all right

Test #6:

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

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
5
393 7
393 28
393 40
393 44
393 74

input:

1000 3062
308 42
919 747
772 470
49 962
294 380
989 134
596 589
66 334
811 816
733 571
123 849
316 66
990 648
653 416
467 520
22 995
951 446
947 623
3 705
225 73
529 609
17 263
736 986
93 939
706 283
136 971
771 678
212 413
721 356
257 761
695 62
75 314
250 947
262 15
995 567
506 107
191 192
65 274
...

output:

ok

result:

ok all right

Test #7:

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

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
5
581 193
581 729
581 14
581 72
581 181

input:

1000 3090
665 821
727 135
787 417
580 168
151 953
533 701
888 479
883 619
596 174
613 554
160 480
7 875
158 144
571 410
990 935
954 743
625 4
52 344
568 778
293 474
247 977
533 863
773 219
31 664
108 860
335 176
907 408
436 182
874 289
577 197
393 385
909 437
843 44
765 772
530 858
330 595
407 65
53...

output:

ok

result:

ok all right

Test #8:

score: 100
Accepted
time: 2ms
memory: 4336kb

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
5
611 51
611 231
611 682
611 69
611 130

input:

1000 4294
30 4
54 929
935 953
570 377
586 368
495 798
933 848
236 163
153 130
610 299
963 338
999 495
636 660
932 18
766 84
445 483
382 832
92 598
74 443
261 614
320 310
668 204
880 344
662 198
752 240
722 628
974 37
444 406
404 955
413 567
67 129
602 33
306 681
781 759
269 887
212 670
538 759
780 9...

output:

ok

result:

ok all right

Test #9:

score: 100
Accepted
time: 2ms
memory: 4372kb

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
5
240 317
240 571
240 10
240 23
240 124

input:

1000 4768
450 532
910 207
355 103
49 254
17 389
342 809
271 691
824 519
470 80
193 960
380 936
145 907
209 996
554 898
256 221
500 72
278 444
586 50
771 556
596 379
467 116
150 90
70 248
971 78
767 31
429 287
966 985
667 585
470 562
453 100
510 872
245 400
396 746
530 497
638 202
914 729
604 112
640...

output:

ok

result:

ok all right

Test #10:

score: 100
Accepted
time: 2ms
memory: 4128kb

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:

mark
5
384 385
384 83
384 305
384 310
384 359

input:

1000 4255
239 864
703 85
233 565
40 260
218 598
590 999
652 991
56 880
378 512
83 743
128 210
512 152
207 979
736 805
600 242
847 8
148 404
394 524
600 888
185 482
27 147
203 920
735 728
432 88
31 42
622 960
984 296
404 61
377 959
344 270
989 578
848 898
133 174
16 398
378 425
385 94
579 380
465 983...

output:

ok

result:

ok all right

Test #11:

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

input:

1000 3336
161 745
81 702
879 347
452 553
809 32
359 925
984 783
558 366
611 89
948 530
565 496
123 348
534 986
991 511
322 407
6 878
20 897
188 150
527 440
487 333
218 572
597 575
308 684
50 780
900 451
763 785
210 682
964 992
811 537
537 167
320 133
523 899
629 732
435 281
826 405
868 567
201 858
2...

output:

mark
5
299 206
299 519
299 615
299 250
299 273

input:

1000 3341
949 836
786 514
788 458
161 10
266 447
140 767
680 532
164 413
301 432
757 7
912 821
519 348
757 820
367 334
413 105
991 504
860 74
29 689
213 502
935 801
516 989
471 480
153 420
171 997
608 975
73 502
635 289
976 82
370 812
285 185
932 30
236 581
791 81
766 679
465 356
521 984
216 921
830...

output:

ok

result:

ok all right

Test #12:

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

input:

1000 3482
910 881
481 989
349 262
963 679
970 752
651 210
86 339
724 310
765 410
118 619
662 351
568 148
292 61
136 385
997 772
210 735
816 310
698 649
581 313
414 280
92 872
965 925
35 930
813 29
617 210
854 940
486 479
412 644
660 623
126 85
664 327
459 165
266 113
108 206
686 660
918 536
173 366
...

output:

mark
5
213 497
213 887
213 938
213 292
213 342

input:

1000 3487
216 419
26 845
470 663
178 269
799 60
614 532
367 700
902 473
179 605
144 158
961 559
714 109
932 71
568 322
56 984
165 402
581 768
832 455
657 829
327 666
661 363
733 928
544 682
510 624
947 240
324 630
799 218
625 812
124 22
78 402
543 49
613 843
539 804
97 615
931 586
626 887
376 261
59...

output:

ok

result:

ok all right

Test #13:

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

input:

1000 2141
358 723
692 581
753 295
864 391
984 462
525 271
508 897
739 537
124 933
577 499
863 37
279 622
361 605
454 951
527 837
1 224
641 404
479 220
931 126
182 719
464 451
805 452
529 800
292 689
17 320
728 790
967 41
412 752
276 535
643 636
611 56
802 414
861 603
857 722
1000 584
435 118
266 392...

output:

mark
5
588 149
588 184
588 255
588 323
588 491

input:

1000 2146
42 482
435 67
324 689
821 542
372 998
408 746
842 9
366 960
211 898
433 518
399 745
986 692
943 831
92 121
556 136
414 271
743 304
704 356
407 480
453 625
796 98
288 425
760 299
344 559
435 792
394 761
315 499
215 379
131 938
110 328
491 753
266 719
597 526
515 710
143 215
338 550
308 489
...

output:

ok

result:

ok all right

Test #14:

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

input:

1000 2950
244 361
694 442
547 577
545 866
488 207
888 997
263 45
850 200
30 927
195 510
274 582
467 158
664 667
880 573
522 986
736 375
206 326
999 940
875 609
151 161
602 673
664 200
827 579
12 190
300 249
95 502
951 317
669 243
350 841
692 572
619 302
955 999
480 891
109 779
198 893
105 442
214 14...

output:

mark
5
572 58
572 66
572 79
572 88
572 113

input:

1000 2955
749 585
407 754
910 157
160 759
799 65
818 116
867 14
353 831
816 753
637 496
865 924
204 215
666 760
537 995
256 29
462 578
526 578
713 583
181 541
253 840
931 44
523 488
247 761
857 816
17 751
518 367
541 578
499 59
604 329
307 590
933 975
293 776
248 22
990 475
763 366
607 882
260 541
9...

output:

ok

result:

ok all right

Test #15:

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

input:

1000 2725
336 461
575 6
961 482
496 574
134 336
671 452
172 957
633 89
909 334
222 155
90 660
201 950
436 671
726 683
487 356
536 389
107 844
403 732
550 608
607 54
718 438
960 144
710 278
398 747
152 501
86 385
34 251
309 822
773 321
329 213
897 948
356 401
290 329
278 591
683 454
122 523
729 436
4...

output:

mark
5
401 62
401 802
401 906
401 923
401 4

input:

1000 2730
863 314
669 860
82 966
878 461
32 303
760 450
155 601
999 899
933 72
314 138
160 662
750 49
195 996
398 166
508 819
228 220
210 23
707 193
391 89
355 208
923 77
32 566
595 214
534 576
583 576
489 47
711 969
385 891
848 853
69 426
8 54
455 958
29 539
150 360
605 460
871 14
324 424
236 910
7...

output:

ok

result:

ok all right

Test #16:

score: 0
Wrong Answer on the first run

input:

1000 2812
357 725
462 948
927 875
21 284
52 197
457 876
744 315
990 255
660 522
51 971
392 275
736 77
131 216
581 438
495 271
965 111
376 89
824 363
628 13
33 585
836 144
791 404
916 588
668 243
960 335
505 368
744 264
332 893
65 320
205 81
929 44
135 224
306 351
938 505
70 927
825 634
161 492
434 1...

output:

ok

input:


output:


result:

wrong answer Token "ok" doesn't correspond to pattern "mark"