QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#321924 | #4829. Mark on a Graph | socpite | 0 | 184ms | 7876kb | C++14 | 2.0kb | 2024-02-05 21:55:01 | 2024-02-05 21:55:02 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e3+5;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
vector<int> g[maxn];
int used[maxn];
int edg[maxn][maxn];
int d[maxn];
void gen_random(int n, int m, float& t_max){
vector<pair<int, int>> edges;
for(int i = 0; i < m; i++){
int a = rng()%n + 1, b = rng()%n + 1;
while(edg[a][b])b = rng()%n + 1;
d[a]++;
d[b]++;
edg[a][b] = 1;
edg[b][a] = 1;
edges.push_back({a, b});
}
t_max += *max_element(d+1, d+n+1);
for(auto v: edges){
d[v.first]--;
d[v.second]--;
edg[v.first][v.second] = 0;
edg[v.second][v.first] = 0;
}
}
int main(){
int n, m;
cin >> n >> m;
for(int i = 1; i <= n; i++)edg[i][i] = 1;
for(int i = 0; i < m; i++){
int a, b;
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
if(m <= 4000){
float total = 0;
for(int test = 0; test < 2000; test++)gen_random(n, m, total);
total /= 2000;
int mn = 1;
for(int i = 1; i <= n; i++){
if(g[i].size() > g[mn].size())mn = i;
}
// cout << mn << " " << g[mn].size() << endl;
if(g[mn].size() >= total + 3)cout << "ok";
else{
cout << "mark\n";
cout << "5\n";
int cnt = 0;
for(auto v: g[mn])used[v] = 1;
for(int i = 1; i <= n; i++){
if(used[i] || i == mn)continue;
cout << mn << " " << i << "\n";
cnt++;
if(cnt == 5)return 0;
}
}
}
else {
int mn = 1;
for(int i = 1; i <= n; i++){
if(g[i].size() < g[mn].size())mn = i;
}
if(g[mn].empty())cout << "ok";
else{
cout << "mark\n";
cout << g[mn].size() << "\n";
for(auto v: g[mn])cout << mn << " " << v << "\n";
}
}
}
详细
Test #1:
score: 100
Accepted
time: 184ms
memory: 7836kb
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 310 1 310 2 310 3 310 4 310 5
input:
1000 3565 721 353 295 222 429 542 522 656 682 141 194 833 746 181 656 841 263 583 392 102 221 187 643 633 788 161 180 790 481 180 640 763 583 378 224 873 974 302 521 639 368 691 720 39 113 433 679 583 16 526 882 125 351 806 70 757 464 840 87 733 161 916 232 79 178 201 182 394 201 34 883 528 916 901 ...
output:
ok
result:
ok all right
Test #2:
score: 100
Accepted
time: 101ms
memory: 7840kb
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 747 1 747 2 747 3 747 4 747 5
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 882 331 763 804 727 755 904 500 999 663 53 985 564 74 863 90 543 99 25 858 528 824 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: 3ms
memory: 7648kb
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 98 786 98 35
input:
1000 4998 551 533 737 730 458 504 171 208 770 340 170 148 361 374 601 56 608 544 914 503 689 276 45 106 579 748 442 561 299 387 647 492 396 945 345 377 684 171 287 396 835 17 749 138 380 529 242 116 792 121 953 215 286 464 314 956 458 321 181 533 419 141 137 42 528 693 851 870 246 797 256 552 634 53...
output:
ok
result:
ok all right
Test #4:
score: 100
Accepted
time: 166ms
memory: 7876kb
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 115 1 115 2 115 3 115 4 115 5
input:
1000 3161 378 209 409 35 856 354 70 275 706 752 786 22 612 817 712 156 926 271 606 440 919 879 761 982 111 489 856 566 668 1 835 827 7 717 57 286 481 64 166 575 912 865 182 574 853 843 669 210 697 40 840 516 403 962 295 679 245 501 747 434 984 310 827 597 325 695 127 255 643 111 136 517 94 882 59 27...
output:
ok
result:
ok all right
Test #5:
score: 100
Accepted
time: 174ms
memory: 7812kb
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 1 797 2 797 3 797 4 797 5
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 745 ...
output:
ok
result:
ok all right
Test #6:
score: 100
Accepted
time: 152ms
memory: 7716kb
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 1 393 2 393 3 393 4 393 5
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: 157ms
memory: 7656kb
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 1 581 2 581 3 581 4 581 5
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 477 517 457 453 874 289 577 197 393 385 909 425 843 44 765 772 530 858 330 595 256 61 53...
output:
ok
result:
ok all right
Test #8:
score: 100
Accepted
time: 3ms
memory: 7688kb
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 1 51 215
input:
1000 4288 673 31 188 54 935 953 932 570 586 861 495 798 123 823 163 1000 371 639 227 209 997 338 987 999 913 470 818 410 766 668 129 483 495 832 554 630 371 249 453 621 785 711 886 668 433 628 937 526 240 950 628 555 215 218 813 755 615 404 102 3 161 65 33 165 468 513 759 872 337 257 894 186 799 404...
output:
ok
result:
ok all right
Test #9:
score: 100
Accepted
time: 3ms
memory: 7696kb
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 2 317 415 317 83
input:
1000 4761 491 250 131 467 31 648 624 672 429 451 739 635 859 287 641 231 428 623 438 834 85 910 591 615 446 471 998 754 141 382 718 500 787 578 515 857 996 209 717 440 370 224 127 90 952 604 912 94 312 77 384 841 162 623 968 92 394 795 148 479 989 909 732 278 820 306 211 388 593 907 436 162 823 929 ...
output:
ok
result:
ok all right
Test #10:
score: 0
Wrong Answer on the first run
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:
ok
input:
output:
result:
wrong answer Token "ok" doesn't correspond to pattern "mark"