#include <bits/stdc++.h> using namespace std; const int NC = 23; array<uint16_t, 1<<NC> nd, us, bf; int grd2(int c, const vector<int>& ia){ int cnd = 99999999; { //詰めている箱に入れられる最も大きな部品を詰める auto a = ia; int n=a.size(); sort(a.rbegin(), a.rend()); int cb = 0, sm = 0; while(a.size() >0){ sm++; cb=0; for(int& z: a){ if(z >=0 && cb + z <= c){ cb += z; z = -9; } } a.erase(remove(a.begin(), a.end(), -9), a.end()); } cnd = min(cnd, sm); } { //残っている部品でCに近い組合せを作って採用 vector<int>a = ia; int ans=0, n=a.size(), zan =n; sort(a.rbegin(), a.rend()); while( zan >0){ ans++; vector<int> um(c+2, -1); um[0] = 0; for(int i=0; i<n; i++) if(a[i]>0) for(int j=c-1; j>=0; j--){ if(um[j] <0) continue; if(j + a[i] <= c && um[j+a[i]] <0) um[j+a[i]] = i; } int tg=-1; for(int j=c; j>=0; j--) if(um[j] >=0){ tg=j; break;} while(1){ int z = um[tg]; tg = tg - a[z]; //cout << a[z] <<" "; a[z] = -9; zan--; if(tg==0) break; } //if(count(a.begin(), a.end(), -9)<n) cout << "/ "; //else {cout <<"\n"; break;} } cnd = min(ans, cnd); } { //乱択5000回 mt19937 mtr((unsigned)2018111515); //time(nullptr)); vector<int>a = ia; int n=a.size(); for(int g=0; g<5000; g++){ shuffle(a.begin(), a.end(), mtr); int ck=c+30 ,sm=0; for(int i=0;i<n;i++){ if(ck + a[i] > c){ sm++; ck = 0;} ck += a[i]; } cnd = min(cnd, sm); } } cout <<"乱択解: "<< cnd <<"\n"; return cnd; } void fc(int c, const vector<int> v){ const int n=v.size(); for(int i=0; i< 1<<NC; i++) nd[i]=us[i]=bf[i]= 32000; nd[0] = 0; for(int i=0; i< 1<<n; i++) for(int j=0; j<n ;j++) { if(i>>j &1) continue; int a = nd[i], b = us[i], nj = i | 1<<j; if(b + v[j] > c){ a++; b=0;} b += v[j]; if(nd[nj] > a || (nd[nj]==a && us[nj] > b)){ nd[nj] = a; us[nj] = b; bf[nj] = j; } } cout<<"\nC = "<<c <<" :: a = {"; for(int i=0;i<n;i++) cout<< v[i] <<" "; cout <<"}\n"; int sm = accumulate(v.begin(), v.end(),0); cout << "必要数: " << nd[(1<<n) -1] <<" (N="<<n<< " 充填率 = " << 100.0*sm /(c * nd[(1<<n) -1]) <<"%)\n"; deque<int> pt; for(int pf=(1<<n)-1; bf[pf] <32000;pf -= 1<<bf[pf]) pt.push_front(v[bf[pf]]); int ck=0; for(int i=0;i<n;i++){ if(ck + pt[i] > c){ cout << "/ "; ck = 0;} cout << pt[i] <<" "; ck += pt[i]; } cout <<"\n"; //fpmt(c, v); int ri = grd2(c, v); if(ri != nd[(1<<n) -1]) cout <<"XXXXXXXXX wrong XXXXXXXXXX\n"; } int main(){ mt19937 mt((unsigned)20181115); //time(nullptr)); vector<int> a; { a = {8,5,10,6,4,5,8,5,9,6,9}; fc(30, a);} { a = {33,61,58,41,50,21,60,64}; fc(120, a);} { a = {33,61,58,41,50,21,60,64,23,45,67,78,89};fc(120, a);} { a = {3,3,2,2,2,2,1,1,2,2,3,3,3,3,4,4,5,5,6};fc(7, a);} { a = {3,3,2,2,2,2,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,};fc(7, a);} { a = {6,5,3,2,2,2};fc(10, a);} {a = {770,316,349,194,222,556,491,347,147,977,404,196,383,854,707,207,487,960,936}; fc(1600,a);} cout <<"\n##### 以下ランダム出題と解 #####\n"; for(int g=0; g<100; g++){ const int su = mt()%7 + (g<10? 5:14) ; vector<int> z(su); for(int i=0; i<su; i++) z[i] = mt()%999 +1; int c = *max_element(z.begin(), z.end()) * (1.2 + mt()%1536/1024.0); c = (c+99)/100 * 100; fc(c,z); } return 0; }
Standard input is empty
C = 30 :: a = {8 5 10 6 4 5 8 5 9 6 9 } 必要数: 3 (N=11 充填率 = 83.3333%) 5 10 6 4 5 / 8 8 5 9 / 6 9 乱択解: 3 C = 120 :: a = {33 61 58 41 50 21 60 64 } 必要数: 4 (N=8 充填率 = 80.8333%) 61 58 / 33 21 64 / 50 60 / 41 乱択解: 4 C = 120 :: a = {33 61 58 41 50 21 60 64 23 45 67 78 89 } 必要数: 6 (N=13 充填率 = 95.8333%) 33 64 23 / 61 58 / 41 78 / 50 67 / 21 89 / 60 45 乱択解: 6 C = 7 :: a = {3 3 2 2 2 2 1 1 2 2 3 3 3 3 4 4 5 5 6 } 必要数: 8 (N=19 充填率 = 100%) 3 2 2 / 3 2 2 / 1 3 3 / 3 4 / 3 4 / 2 5 / 2 5 / 1 6 乱択解: 8 C = 7 :: a = {3 3 2 2 2 2 3 3 2 2 2 2 3 3 3 2 2 2 2 2 2 } 必要数: 7 (N=21 充填率 = 100%) 3 2 2 / 3 2 2 / 3 2 2 / 3 2 2 / 3 2 2 / 3 2 2 / 3 2 2 乱択解: 7 C = 10 :: a = {6 5 3 2 2 2 } 必要数: 2 (N=6 充填率 = 100%) 5 3 2 / 6 2 2 乱択解: 2 C = 1600 :: a = {770 316 349 194 222 556 491 347 147 977 404 196 383 854 707 207 487 960 936 } 必要数: 6 (N=19 充填率 = 98.9896%) 194 222 977 207 / 316 347 936 / 404 707 487 / 491 147 960 / 349 383 854 / 770 556 196 乱択解: 7 XXXXXXXXX wrong XXXXXXXXXX ##### 以下ランダム出題と解 ##### C = 1200 :: a = {720 865 934 737 322 284 249 515 866 745 } 必要数: 7 (N=10 充填率 = 74.25%) 322 866 / 934 249 / 865 284 / 745 / 737 / 720 / 515 乱択解: 7 C = 1800 :: a = {519 775 285 357 439 803 317 471 329 232 } 必要数: 3 (N=10 充填率 = 83.8333%) 519 803 471 / 775 357 317 329 / 285 439 232 乱択解: 3 C = 2100 :: a = {828 129 792 762 351 971 982 37 806 225 520 } 必要数: 4 (N=11 充填率 = 76.2262%) 828 129 792 351 / 762 806 520 / 971 982 37 / 225 乱択解: 4 C = 1400 :: a = {548 909 291 720 282 803 612 } 必要数: 4 (N=7 充填率 = 74.375%) 548 803 / 720 612 / 909 291 / 282 乱択解: 4 C = 1400 :: a = {902 517 52 755 403 277 606 715 290 953 89 } 必要数: 5 (N=11 充填率 = 79.4143%) 52 606 715 / 517 755 89 / 403 953 / 902 290 / 277 乱択解: 5 C = 2400 :: a = {368 329 714 389 915 781 } 必要数: 2 (N=6 充填率 = 72.8333%) 368 329 915 781 / 714 389 乱択解: 2 C = 2200 :: a = {727 878 767 430 983 73 567 } 必要数: 3 (N=7 充填率 = 67.0455%) 767 430 983 / 727 878 567 / 73 乱択解: 3 C = 1700 :: a = {88 599 245 501 31 830 569 159 907 } 必要数: 3 (N=9 充填率 = 77.0392%) 599 31 159 907 / 88 245 501 830 / 569 乱択解: 3 C = 1600 :: a = {321 134 249 835 134 275 726 983 186 717 173 } 必要数: 3 (N=11 充填率 = 98.6042%) 249 983 186 173 / 321 134 134 275 726 / 835 717 乱択解: 3 C = 1000 :: a = {611 66 610 239 288 740 } 必要数: 3 (N=6 充填率 = 85.1333%) 239 740 / 611 66 288 / 610 乱択解: 3 C = 1900 :: a = {615 750 370 294 655 143 713 441 91 396 278 819 537 259 } 必要数: 4 (N=14 充填率 = 83.6974%) 750 294 143 713 / 615 370 655 259 / 441 91 819 537 / 396 278 乱択解: 4 C = 2400 :: a = {865 731 633 19 684 611 583 70 804 421 322 309 62 704 211 41 981 } 必要数: 4 (N=17 充填率 = 83.8646%) 865 731 804 / 633 684 70 309 704 / 611 421 322 62 981 / 19 583 211 41 乱択解: 4 C = 2000 :: a = {243 946 641 854 815 401 71 746 92 665 1 330 726 17 890 578 126 221 932 796 } 必要数: 6 (N=20 充填率 = 84.0917%) 946 815 1 17 221 / 243 71 890 796 / 641 92 330 932 / 746 665 578 / 854 401 726 / 126 乱択解: 6 C = 2200 :: a = {704 497 912 817 891 755 850 388 940 120 840 452 570 71 400 362 916 56 433 772 } 必要数: 6 (N=20 充填率 = 88.9848%) 388 840 916 56 / 497 940 400 362 / 891 755 120 433 / 704 850 570 71 / 912 817 452 / 772 乱択解: 6 C = 1400 :: a = {642 344 727 205 644 219 638 29 335 429 455 360 431 909 603 780 170 } 必要数: 6 (N=17 充填率 = 94.2857%) 727 644 29 / 205 335 429 431 / 642 219 360 170 / 603 780 / 455 909 / 344 638 乱択解: 6 C = 2300 :: a = {584 337 793 399 140 211 869 684 552 676 717 94 907 58 256 401 404 694 488 } 必要数: 5 (N=19 充填率 = 80.5565%) 337 399 907 256 401 / 793 140 211 58 404 694 / 584 552 676 488 / 869 684 717 / 94 乱択解: 5 C = 2300 :: a = {928 138 761 782 943 807 852 381 313 969 464 825 264 91 46 788 333 165 121 344 } 必要数: 5 (N=20 充填率 = 89.6957%) 138 782 464 825 91 / 852 313 969 165 / 928 943 381 46 / 761 807 264 121 344 / 788 333 乱択解: 5 C = 2200 :: a = {628 467 251 216 852 920 462 222 200 975 345 599 791 263 } 必要数: 4 (N=14 充填率 = 81.7159%) 628 251 975 345 / 467 216 462 791 263 / 852 920 222 200 / 599 乱択解: 4 C = 2100 :: a = {704 268 790 804 792 278 762 956 37 68 610 398 167 551 877 } 必要数: 4 (N=15 充填率 = 95.9762%) 268 792 278 762 / 704 68 610 167 551 / 804 398 877 / 790 956 37 乱択解: 4 C = 1300 :: a = {240 30 790 461 514 580 721 719 706 271 922 983 325 959 } 必要数: 7 (N=14 充填率 = 90.3407%) 580 719 / 30 271 983 / 325 959 / 790 461 / 514 721 / 240 922 / 706 乱択解: 7 C = 1800 :: a = {42 550 692 717 537 709 4 671 174 647 774 392 322 955 } 必要数: 4 (N=14 充填率 = 99.8056%) 550 537 709 4 / 671 174 955 / 42 717 647 392 / 692 774 322 乱択解: 4 C = 2200 :: a = {806 884 992 130 520 581 670 756 770 249 22 207 187 931 78 857 } 必要数: 4 (N=16 充填率 = 98.1818%) 884 130 770 22 207 187 / 520 670 931 78 / 581 756 857 / 806 992 249 乱択解: 4 C = 1800 :: a = {338 594 816 47 207 181 768 4 228 645 66 402 873 731 276 623 } 必要数: 4 (N=16 充填率 = 94.4306%) 594 181 228 66 731 / 338 816 645 / 768 4 402 623 / 47 207 873 276 乱択解: 4 C = 1500 :: a = {91 565 960 152 645 220 270 587 40 91 324 304 421 356 443 568 826 778 } 必要数: 6 (N=18 充填率 = 84.9%) 220 270 587 421 / 91 324 304 778 / 960 91 443 / 565 356 568 / 645 826 / 152 40 乱択解: 6 C = 2200 :: a = {691 393 166 647 935 978 862 84 875 676 76 951 736 124 26 643 647 970 355 103 } 必要数: 5 (N=20 充填率 = 99.4364%) 691 647 862 / 84 676 124 26 643 647 / 875 970 355 / 166 978 951 103 / 393 935 76 736 乱択解: 5 C = 1900 :: a = {697 759 788 509 418 828 613 404 720 985 846 102 812 767 } 必要数: 5 (N=14 充填率 = 97.3474%) 985 102 812 / 759 418 720 / 697 788 404 / 509 613 767 / 828 846 乱択解: 6 XXXXXXXXX wrong XXXXXXXXXX C = 2100 :: a = {386 939 984 869 374 716 295 337 976 435 782 345 150 899 309 } 必要数: 5 (N=15 充填率 = 83.7714%) 939 716 295 150 / 337 976 782 / 386 984 374 345 / 869 899 309 / 435 乱択解: 5 C = 1200 :: a = {528 850 88 100 131 812 565 273 258 297 672 340 440 850 952 833 291 659 691 231 } 必要数: 9 (N=20 充填率 = 91.3056%) 528 672 / 88 812 297 / 131 833 231 / 850 340 / 273 258 659 / 850 291 / 440 691 / 100 952 / 565 乱択解: 9 C = 2200 :: a = {607 74 395 56 658 258 822 378 222 277 98 504 892 814 143 626 249 966 303 755 } 必要数: 5 (N=20 充填率 = 82.7%) 74 56 258 822 98 892 / 395 222 814 143 626 / 607 378 249 966 / 658 277 504 755 / 303 乱択解: 5 C = 1400 :: a = {763 228 830 979 902 362 45 685 503 518 353 906 861 608 302 93 294 452 929 170 } 必要数: 8 (N=20 充填率 = 96.2768%) 362 685 353 / 830 45 518 / 294 929 170 / 979 302 93 / 763 608 / 503 861 / 906 452 / 228 902 乱択解: 8 C = 2600 :: a = {8 244 215 180 812 800 861 823 808 321 704 91 425 254 942 128 899 753 236 } 必要数: 4 (N=19 充填率 = 91.3846%) 180 812 800 808 / 244 861 425 942 128 / 8 704 899 753 236 / 215 823 321 91 254 乱択解: 4 C = 2300 :: a = {823 718 908 804 126 170 536 72 536 389 930 417 244 45 88 638 462 } 必要数: 4 (N=17 充填率 = 85.9348%) 718 804 170 536 72 / 908 930 417 45 / 823 536 389 88 462 / 126 244 638 乱択解: 4 C = 2600 :: a = {623 312 798 829 993 254 885 936 894 138 6 548 995 575 865 992 706 } 必要数: 5 (N=17 充填率 = 87.3%) 623 829 254 894 / 885 138 6 995 575 / 798 936 865 / 312 993 548 706 / 992 乱択解: 5 C = 2100 :: a = {193 345 669 182 245 993 25 415 866 906 247 563 742 412 656 948 } 必要数: 5 (N=16 充填率 = 80.0667%) 245 906 948 / 669 866 563 / 345 182 415 742 412 / 193 993 247 656 / 25 乱択解: 5 C = 2300 :: a = {88 637 535 67 396 715 648 152 791 951 789 998 454 740 833 } 必要数: 4 (N=15 充填率 = 95.587%) 152 951 454 740 / 715 791 789 / 67 396 998 833 / 88 637 535 648 乱択解: 4 C = 1900 :: a = {996 325 563 757 363 984 508 868 209 566 188 631 753 661 545 } 必要数: 5 (N=15 充填率 = 93.8632%) 325 188 631 753 / 363 984 545 / 563 757 566 / 996 209 661 / 508 868 乱択解: 5 C = 1900 :: a = {63 482 186 101 818 812 721 218 338 139 488 275 969 499 28 339 176 485 375 } 必要数: 4 (N=19 充填率 = 98.8421%) 482 186 818 139 275 / 101 812 488 499 / 218 338 969 375 / 63 721 28 339 176 485 乱択解: 4 C = 2300 :: a = {122 126 197 677 353 441 853 365 191 404 139 194 572 193 912 295 473 985 } 必要数: 4 (N=18 充填率 = 81.4348%) 126 853 365 191 572 193 / 197 353 404 139 912 295 / 677 441 194 985 / 122 473 乱択解: 4 C = 1700 :: a = {348 168 794 126 168 198 334 659 954 294 148 616 194 346 268 12 951 965 447 } 必要数: 5 (N=19 充填率 = 94%) 348 334 659 346 12 / 126 954 616 / 168 168 198 194 965 / 294 951 447 / 794 148 268 乱択解: 5 C = 2300 :: a = {136 48 76 783 372 752 357 416 58 517 931 644 240 399 933 359 595 373 232 754 } 必要数: 4 (N=20 充填率 = 97.5543%) 136 48 76 752 357 931 / 783 416 58 644 399 / 240 933 373 754 / 372 517 359 595 232 乱択解: 4 C = 1300 :: a = {832 704 411 607 184 154 452 328 144 920 13 912 922 533 299 89 } 必要数: 6 (N=16 充填率 = 96.2051%) 912 299 89 / 704 411 184 / 832 452 13 / 607 154 533 / 328 922 / 144 920 乱択解: 6 C = 1200 :: a = {911 709 887 148 508 539 510 925 396 97 678 431 6 966 658 486 839 671 373 346 } 必要数: 10 (N=20 充填率 = 92.3667%) 396 431 373 / 539 658 / 709 486 / 510 678 6 / 839 346 / 508 671 / 148 925 97 / 966 / 911 / 887 乱択解: 10 C = 2100 :: a = {993 22 639 893 510 57 798 76 761 657 833 940 528 980 372 366 626 928 } 必要数: 6 (N=18 充填率 = 87.1349%) 22 893 657 528 / 639 833 626 / 798 372 928 / 761 940 366 / 993 76 980 / 510 57 乱択解: 6 C = 2600 :: a = {133 371 435 976 822 499 765 378 133 288 226 209 7 333 480 930 718 } 必要数: 3 (N=17 充填率 = 98.7564%) 133 435 822 499 378 333 / 765 133 288 209 7 480 718 / 371 976 226 930 乱択解: 3 C = 1500 :: a = {967 450 793 470 932 379 940 431 429 331 355 349 681 778 } 必要数: 6 (N=14 充填率 = 92.0556%) 793 355 349 / 379 431 681 / 967 470 / 450 940 / 932 429 / 331 778 乱択解: 6 C = 1700 :: a = {247 99 758 223 220 170 800 698 967 166 618 359 602 939 607 910 456 } 必要数: 6 (N=17 充填率 = 86.6569%) 223 220 800 456 / 170 618 910 / 758 939 / 99 967 607 / 698 359 602 / 247 166 乱択解: 6 C = 2300 :: a = {898 332 521 29 480 858 223 832 146 963 213 787 372 897 482 755 603 710 368 } 必要数: 5 (N=19 充填率 = 91.0348%) 898 521 29 480 372 / 332 858 146 963 / 832 755 710 / 787 897 603 / 223 213 482 368 乱択解: 5 C = 1700 :: a = {203 914 459 720 953 565 566 497 756 861 512 399 189 168 838 } 必要数: 6 (N=15 充填率 = 84.3137%) 861 838 / 459 720 512 / 953 566 168 / 203 914 565 / 497 756 399 / 189 乱択解: 6 C = 2100 :: a = {625 725 997 901 844 500 906 507 855 311 250 810 625 201 794 865 801 } 必要数: 6 (N=17 充填率 = 91.4048%) 997 901 201 / 725 507 865 / 500 794 801 / 625 844 625 / 906 855 311 / 250 810 乱択解: 6 C = 2500 :: a = {654 275 139 567 604 214 128 423 353 744 138 379 494 261 140 803 429 949 341 } 必要数: 4 (N=19 充填率 = 80.35%) 567 214 128 353 744 494 / 139 604 379 429 949 / 654 423 138 140 803 341 / 275 261 乱択解: 4 C = 1400 :: a = {25 892 618 303 674 61 976 143 325 592 480 667 381 930 607 922 365 203 } 必要数: 7 (N=18 充填率 = 93.5102%) 892 303 203 / 325 592 480 / 25 61 381 930 / 618 143 607 / 674 667 / 976 365 / 922 乱択解: 7 C = 1500 :: a = {312 177 398 823 593 737 126 329 837 427 265 855 450 524 682 264 } 必要数: 6 (N=16 充填率 = 86.6556%) 398 837 265 / 312 737 450 / 177 126 329 855 / 524 682 264 / 823 593 / 427 乱択解: 6 C = 1400 :: a = {406 319 692 206 954 756 513 52 378 981 979 878 515 31 } 必要数: 6 (N=14 充填率 = 91.1905%) 878 515 / 378 981 31 / 406 979 / 319 954 52 / 756 513 / 692 206 乱択解: 6 C = 1300 :: a = {711 543 508 998 571 818 907 705 494 357 395 709 579 242 283 38 176 } 必要数: 8 (N=17 充填率 = 86.8654%) 543 508 242 / 711 579 / 998 283 / 571 709 / 907 357 / 818 395 38 / 705 494 / 176 乱択解: 8 C = 1600 :: a = {109 984 38 536 702 437 480 775 467 67 874 913 659 443 } 必要数: 5 (N=14 充填率 = 93.55%) 109 984 38 467 / 480 659 443 / 702 874 / 536 67 913 / 437 775 乱択解: 5 C = 1500 :: a = {512 98 67 812 585 723 128 664 347 854 781 3 391 622 } 必要数: 5 (N=14 充填率 = 87.8267%) 98 812 585 3 / 512 128 854 / 67 781 622 / 723 347 391 / 664 乱択解: 5 C = 1700 :: a = {290 831 799 639 647 632 177 302 143 493 55 742 508 507 788 28 860 } 必要数: 6 (N=17 充填率 = 82.7549%) 647 302 742 / 831 860 / 177 493 508 507 / 799 55 788 28 / 290 639 632 / 143 乱択解: 6 C = 2100 :: a = {180 29 918 324 685 213 206 259 688 596 644 671 952 119 } 必要数: 4 (N=14 充填率 = 77.1905%) 180 324 644 952 / 29 685 596 671 119 / 918 213 259 688 / 206 乱択解: 4 C = 2200 :: a = {735 563 424 53 4 197 410 116 357 449 896 338 213 783 813 } 必要数: 3 (N=15 充填率 = 96.2273%) 563 424 4 197 116 896 / 53 338 213 783 813 / 735 410 357 449 乱択解: 3 C = 2700 :: a = {332 367 715 540 120 994 564 117 336 241 303 204 621 769 804 355 } 必要数: 3 (N=16 充填率 = 91.1358%) 332 120 564 336 241 303 804 / 715 540 117 204 769 355 / 367 994 621 乱択解: 3 C = 1400 :: a = {197 582 720 827 893 572 942 503 896 42 802 789 368 541 992 280 852 494 184 566 } 必要数: 9 (N=20 充填率 = 95.5714%) 827 572 / 503 896 / 720 494 184 / 42 789 566 / 541 852 / 582 802 / 197 893 280 / 368 992 / 942 乱択解: 9 C = 2600 :: a = {995 486 249 102 211 550 604 829 578 956 907 903 687 33 268 } 必要数: 4 (N=15 充填率 = 80.3654%) 211 604 829 956 / 102 907 903 687 / 995 486 249 550 33 268 / 578 乱択解: 4 C = 2300 :: a = {218 294 222 67 670 189 932 21 731 102 550 698 767 598 } 必要数: 3 (N=14 充填率 = 87.8116%) 670 932 698 / 218 294 222 67 731 767 / 189 21 102 550 598 乱択解: 3 C = 2100 :: a = {429 104 945 902 519 34 733 931 303 333 21 989 731 498 124 852 547 581 } 必要数: 5 (N=18 充填率 = 91.2%) 945 303 852 / 931 498 124 547 / 429 902 34 733 / 519 989 581 / 104 333 21 731 乱択解: 5 C = 2000 :: a = {829 667 206 440 536 779 269 896 37 935 817 752 321 669 536 44 129 244 453 497 } 必要数: 6 (N=20 充填率 = 83.8%) 667 269 935 129 / 206 440 536 817 / 896 321 536 244 / 829 669 497 / 779 752 453 / 37 44 乱択解: 6 C = 1200 :: a = {969 806 800 316 842 512 343 557 383 380 987 406 579 480 } 必要数: 8 (N=14 充填率 = 87.0833%) 806 383 / 842 343 / 800 380 / 557 579 / 512 480 / 987 / 969 / 316 406 乱択解: 8 C = 1700 :: a = {539 379 706 333 89 190 959 994 864 993 76 312 962 485 916 105 434 619 188 } 必要数: 6 (N=19 充填率 = 99.4412%) 706 994 / 89 864 312 434 / 190 485 916 105 / 539 962 188 / 993 76 619 / 379 333 959 乱択解: 7 XXXXXXXXX wrong XXXXXXXXXX C = 1900 :: a = {936 990 174 436 209 407 697 174 436 171 306 129 180 130 167 786 194 131 548 839 } 必要数: 5 (N=20 充填率 = 84.6316%) 936 174 436 174 180 / 990 436 306 167 / 209 171 131 548 839 / 407 697 786 / 129 130 194 乱択解: 5 C = 1500 :: a = {695 596 581 321 537 339 795 460 202 49 356 566 339 662 959 636 328 891 240 } 必要数: 7 (N=19 充填率 = 90.9714%) 339 202 959 / 460 49 662 328 / 321 537 636 / 695 795 / 596 891 / 581 566 339 / 356 240 乱択解: 7 C = 2100 :: a = {632 680 122 289 626 321 86 815 264 329 220 579 764 411 89 469 560 } 必要数: 4 (N=17 充填率 = 86.381%) 289 321 815 264 411 / 86 220 764 469 560 / 680 122 626 579 89 / 632 329 乱択解: 4 C = 2500 :: a = {654 783 627 505 680 468 842 498 898 705 171 641 935 990 757 825 354 349 167 } 必要数: 5 (N=19 充填率 = 94.792%) 641 935 757 167 / 654 505 842 498 / 783 468 898 349 / 680 990 825 / 627 705 171 354 乱択解: 5 C = 2200 :: a = {551 53 526 403 729 84 709 726 989 112 299 975 64 949 527 536 984 762 987 237 } 必要数: 6 (N=20 充填率 = 84.8636%) 84 989 64 527 536 / 729 709 762 / 975 987 237 / 551 53 526 112 949 / 403 726 984 / 299 乱択解: 6 C = 1200 :: a = {819 761 748 315 328 225 2 787 358 459 517 373 928 941 433 164 234 129 } 必要数: 8 (N=18 充填率 = 88.7604%) 761 2 433 / 819 373 / 748 315 129 / 941 234 / 225 928 / 787 358 / 459 517 164 / 328 乱択解: 8 C = 1400 :: a = {683 412 194 415 295 141 775 260 42 84 908 519 937 828 } 必要数: 5 (N=14 充填率 = 92.7571%) 683 415 260 42 / 194 295 908 / 412 141 828 / 775 84 519 / 937 乱択解: 5 C = 2500 :: a = {570 23 936 887 629 723 597 412 457 308 982 744 446 15 324 374 199 143 891 473 } 必要数: 5 (N=20 充填率 = 81.064%) 570 887 597 446 / 23 412 982 744 15 324 / 629 308 199 891 473 / 936 723 457 374 / 143 乱択解: 5 C = 1600 :: a = {698 15 777 90 47 46 755 266 468 686 280 753 31 92 218 371 } 必要数: 4 (N=16 充填率 = 87.3906%) 777 90 47 686 / 755 753 92 / 698 46 266 218 371 / 15 468 280 31 乱択解: 4 C = 2200 :: a = {408 139 16 202 742 259 279 491 981 670 233 943 972 867 694 549 435 739 } 必要数: 5 (N=18 充填率 = 87.4455%) 981 670 549 / 16 259 491 694 739 / 742 279 233 943 / 139 202 972 867 / 408 435 乱択解: 5 C = 2500 :: a = {89 296 393 595 271 342 437 756 114 907 168 561 596 448 929 381 672 706 381 134 } 必要数: 4 (N=20 充填率 = 91.76%) 89 296 342 168 561 596 448 / 393 271 907 929 / 595 437 381 706 381 / 756 114 672 134 乱択解: 4 C = 2500 :: a = {510 327 815 925 115 428 147 596 121 497 744 214 30 886 } 必要数: 3 (N=14 充填率 = 84.7333%) 925 147 596 121 497 214 / 327 115 428 744 886 / 510 815 30 乱択解: 3 C = 2600 :: a = {549 503 670 981 804 277 959 268 33 634 457 816 465 660 624 628 804 161 110 322 } 必要数: 5 (N=20 充填率 = 82.5%) 981 959 660 / 549 503 804 634 110 / 277 268 465 624 804 161 / 670 457 816 628 / 33 322 乱択解: 5 C = 2000 :: a = {478 75 488 23 721 136 450 160 985 361 799 938 102 387 } 必要数: 4 (N=14 充填率 = 76.2875%) 75 488 450 985 / 478 721 799 / 136 160 361 938 387 / 23 102 乱択解: 4 C = 2200 :: a = {481 207 694 500 913 290 196 621 587 251 895 729 224 277 577 930 161 639 105 529 } 必要数: 5 (N=20 充填率 = 89.1455%) 694 500 729 277 / 913 196 930 161 / 207 621 251 895 224 / 290 587 577 639 105 / 481 529 乱択解: 5 C = 1300 :: a = {795 62 245 463 92 365 410 510 160 338 966 871 677 708 608 } 必要数: 6 (N=15 充填率 = 93.2051%) 92 160 338 708 / 365 410 510 / 677 608 / 62 245 966 / 795 463 / 871 乱択解: 6 C = 1400 :: a = {838 20 791 651 273 638 375 612 92 262 488 379 242 39 138 } 必要数: 5 (N=15 充填率 = 83.4%) 638 379 242 138 / 651 612 92 39 / 838 20 273 262 / 791 488 / 375 乱択解: 5 C = 1900 :: a = {752 346 107 668 26 464 805 818 743 417 290 181 385 738 884 700 894 830 } 必要数: 6 (N=18 充填率 = 88.1404%) 743 417 738 / 346 668 884 / 752 26 290 830 / 818 181 894 / 805 385 700 / 107 464 乱択解: 6 C = 2500 :: a = {464 896 896 144 311 355 307 808 330 551 880 752 941 644 379 505 773 346 558 } 必要数: 5 (N=19 充填率 = 86.72%) 896 355 307 941 / 464 896 808 330 / 144 644 379 773 558 / 311 551 880 752 / 505 346 乱択解: 5 C = 1800 :: a = {202 717 563 86 604 211 225 319 986 515 554 644 181 802 963 77 47 } 必要数: 5 (N=17 充填率 = 85.5111%) 717 211 644 181 47 / 563 604 554 77 / 319 515 963 / 986 802 / 202 86 225 乱択解: 5 C = 2200 :: a = {255 971 944 670 445 187 686 803 403 873 552 919 442 574 498 486 862 } 必要数: 5 (N=17 充填率 = 96.0909%) 686 442 574 498 / 971 187 552 486 / 403 873 919 / 944 445 803 / 255 670 862 乱択解: 5 C = 1900 :: a = {134 658 176 670 280 460 181 947 400 66 704 110 152 733 } 必要数: 3 (N=14 充填率 = 99.4912%) 670 460 66 704 / 658 176 181 152 733 / 134 280 947 400 110 乱択解: 3 C = 1400 :: a = {289 529 970 144 214 836 973 53 845 373 957 591 250 363 78 } 必要数: 6 (N=15 充填率 = 88.869%) 973 53 373 / 957 363 78 / 289 845 250 / 529 836 / 970 144 214 / 591 乱択解: 6 C = 2600 :: a = {190 83 733 723 778 884 938 215 371 322 315 332 293 857 909 859 287 600 145 727 } 必要数: 5 (N=20 充填率 = 81.2385%) 778 884 938 / 733 371 322 315 859 / 215 332 857 909 287 / 83 723 293 600 145 727 / 190 乱択解: 5 C = 1500 :: a = {85 574 356 771 113 97 15 566 558 838 142 102 751 578 498 706 225 99 } 必要数: 5 (N=18 充填率 = 94.32%) 85 97 566 751 / 356 113 706 225 99 / 558 838 102 / 771 142 578 / 574 15 498 乱択解: 5 C = 2700 :: a = {478 925 966 995 627 973 170 95 93 686 542 714 662 595 254 } 必要数: 4 (N=15 充填率 = 81.25%) 925 966 95 714 / 478 995 973 254 / 627 170 93 542 662 595 / 686 乱択解: 4 C = 2600 :: a = {213 283 59 504 880 764 444 995 638 432 280 988 193 769 } 必要数: 3 (N=14 充填率 = 95.4103%) 213 283 504 638 193 769 / 880 444 995 280 / 59 764 432 988 乱択解: 3 C = 2500 :: a = {632 259 72 735 131 513 164 929 386 324 341 578 534 692 159 155 50 } 必要数: 3 (N=17 充填率 = 88.72%) 259 131 164 929 324 534 159 / 632 513 386 341 578 50 / 72 735 692 155 乱択解: 3 C = 1600 :: a = {29 308 280 168 773 54 312 385 788 712 365 666 134 490 947 65 } 必要数: 5 (N=16 充填率 = 80.95%) 168 54 712 666 / 308 773 385 134 / 280 365 947 / 312 788 490 / 29 65 乱択解: 5 C = 1500 :: a = {16 439 747 791 628 286 589 158 901 815 99 522 998 46 608 873 436 430 121 } 必要数: 7 (N=19 充填率 = 90.5048%) 791 158 430 121 / 99 522 873 / 589 901 / 628 815 46 / 16 439 747 286 / 998 436 / 608 乱択解: 7 C = 2500 :: a = {839 255 383 26 126 551 159 292 276 950 9 242 296 161 106 } 必要数: 2 (N=15 充填率 = 93.42%) 839 383 551 159 292 276 / 255 26 126 950 9 242 296 161 106 乱択解: 2 C = 2400 :: a = {695 665 905 871 577 106 127 274 265 883 672 647 753 374 527 646 } 必要数: 4 (N=16 充填率 = 93.6146%) 871 883 646 / 695 905 127 672 / 577 274 647 374 527 / 665 106 265 753 乱択解: 4 C = 2600 :: a = {128 455 518 304 81 12 613 966 226 178 738 759 687 112 16 194 848 587 745 } 必要数: 4 (N=19 充填率 = 78.5288%) 455 304 687 112 194 848 / 518 12 738 587 745 / 81 613 966 178 759 / 128 226 16 乱択解: 4