백준 1162번 (도로포장, C++, Dijkstra) / 추가 반례 [BAEKJOON]

도로포장

https://www.acmicpc.net/problem/1162

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초128 MB122392532153021.106%

문제

준영이는 매일 서울에서 포천까지 출퇴근을 한다.

하지만 잠이 많은 준영이는 늦잠을 자 포천에 늦게 도착하기 일쑤다.

돈이 많은 준영이는 고민 끝에 K개의 도로를 포장하여 서울에서 포천까지 가는 시간을 단축하려 한다.

문제는 N개의 도시가 주어지고 그 사이 도로와 이 도로를 통과할 때 걸리는 시간이 주어졌을 때

최소 시간이 걸리도록 하는 K개의 이하의 도로를 포장하는 것이다. 

도로는 이미 있는 도로만 포장할 수 있고, 포장하게 되면 도로를 지나는데 걸리는 시간이 0이 된다.

또한 편의상 서울은 1번 도시, 포천은 N번 도시라 하고 1번에서 N번까지 항상 갈 수 있는 데이터만 주어진다.

입력

첫 줄에는 도시의 수 N(1 ≤ N ≤ 10,000)과 도로의 수 M(1 ≤ M ≤ 50,000)과

포장할 도로의 수 K(1 ≤ K ≤ 20)가 공백으로 구분되어 주어진다.

M개의 줄에 대해 도로가 연결하는 두 도시와 도로를 통과하는데 걸리는 시간이 주어진다.

도로들은 양방향 도로이며, 걸리는 시간은 1,000,000보다 작거나 같은 자연수이다.

출력

첫 줄에 K개 이하의 도로를 포장하여 얻을 수 있는 최소 시간을 출력한다.

예제 입력 1

4 4 1
1 2 10
2 4 10
1 3 1
3 4 100

예제 출력 1

1

추가 예제

https://codeforces.com/blog/entry/95032

예제 입력 A

4 6 1
4 3 3 
3 1 3 
2 1 3 
2 4 200 
3 2 300 
1 2 200

예제 출력 A

3

예제 입력 B

10 20 3
1 3 50
1 8 3
1 10 15
2 10 37
2 9 42
2 9 14
2 3 44
2 8 26
3 6 80
3 6 60
3 7 12
3 9 66
3 4 81
4 8 6
5 10 45
5 6 73
6 7 83
6 7 83
7 10 14
8 10 59

예제 출력 B

0

예제 입력 C

100 500 3
1 9 574
1 11 907
1 18 924
1 14 652
1 21 900
1 14 456
1 12 997
2 10 174
2 15 872
2 22 658
2 13 621
2 10 72
2 13 198
2 15 153
2 21 922
2 7 749
2 21 469
2 18 154
2 12 13
3 12 667
3 9 560
3 4 949
3 22 829
3 14 758
4 23 952
4 21 126
4 18 498
4 22 299
4 20 552
5 17 431
5 14 978
5 24 749
5 24 135
5 8 485
5 13 87
5 17 51
6 13 201
6 23 223
6 12 791
6 9 424
6 26 998
6 24 186
6 14 658
7 8 786
7 18 410
7 16 615
8 9 952
8 21 44
8 17 404
9 12 555
9 10 433
9 17 476
9 13 39
9 28 54
10 18 803
10 25 909
10 29 108
10 28 157
10 25 615
10 29 526
11 22 942
11 25 688
11 16 372
11 21 73
11 18 172
12 14 813
12 18 18
12 28 717
12 14 890
12 31 707
12 29 769
12 24 53
12 24 977
13 24 312
13 29 96
13 23 150
14 31 146
14 17 195
14 28 750
14 28 381
14 16 167
14 33 426
15 22 564
15 32 495
15 27 938
15 20 6
15 29 273
15 18 407
15 28 364
15 24 786
16 17 277
16 28 931
16 35 320
16 17 471
17 20 510
17 18 687
17 35 949
17 34 427
17 27 238
18 20 633
18 25 432
18 31 494
19 29 651
19 21 859
19 20 399
19 39 436
19 34 550
20 33 13
20 24 127
21 31 341
21 22 828
21 23 120
21 34 911
22 23 264
22 33 888
22 35 132
23 38 914
23 42 43
23 33 151
23 36 474
23 24 273
23 29 373
23 34 755
24 32 483
24 30 599
24 34 421
25 35 329
25 28 680
25 37 579
25 42 480
26 43 882
26 45 399
26 27 833
26 45 15
26 38 773
26 38 724
27 43 242
27 33 270
27 37 252
27 29 69
28 33 295
28 36 350
28 44 619
28 42 542
28 34 242
28 33 876
28 31 500
28 46 715
28 43 934
29 41 559
29 32 430
29 34 721
29 39 466
30 37 822
30 39 777
30 36 373
30 47 145
30 33 256
30 36 219
31 50 986
31 50 557
31 38 275
31 40 6
31 42 536
31 49 791
31 36 86
31 43 552
32 49 447
32 34 865
32 39 982
32 37 818
33 47 168
33 48 140
33 45 365
33 51 402
33 45 5
33 49 314
34 35 758
34 44 113
34 42 421
34 35 350
34 47 330
35 54 253
36 47 601
36 37 727
36 40 958
36 51 847
36 44 105
36 38 641
36 46 850
37 42 886
37 38 695
37 41 299
37 55 196
37 51 747
37 49 874
38 52 849
38 57 443
38 50 91
38 55 213
38 44 708
38 49 285
38 55 17
39 46 6
39 50 70
39 58 450
39 53 609
40 41 791
40 47 199
40 57 718
40 42 821
40 59 40
41 56 666
41 53 978
41 60 380
41 56 491
42 51 992
42 62 452
42 44 694
42 60 567
42 60 452
42 43 922
43 53 721
43 51 974
43 45 765
43 62 779
43 54 392
44 49 935
44 63 704
45 53 903
45 55 343
45 50 285
46 56 899
46 60 810
46 65 464
46 61 661
46 66 107
47 50 285
47 59 288
47 59 28
47 66 351
47 55 20
47 67 802
48 52 750
48 62 235
48 53 281
48 55 187
48 62 848
48 52 278
48 68 896
48 52 357
49 67 800
49 66 491
49 51 577
49 65 661
50 55 912
50 63 372
50 54 177
50 57 77
50 57 318
50 66 363
50 56 665
51 56 106
51 66 847
51 69 879
52 53 573
52 61 391
52 67 135
52 58 125
52 69 630
52 53 104
53 60 226
53 70 844
53 58 473
53 57 687
53 72 111
53 57 791
54 72 630
54 70 203
54 63 47
55 60 751
55 75 194
55 56 28
55 70 459
55 69 127
55 61 302
55 60 97
55 66 443
55 61 847
56 61 925
56 62 90
57 77 776
57 65 289
57 74 545
58 64 334
58 59 163
58 77 775
58 66 671
58 66 182
59 70 971
59 64 915
59 73 702
59 60 336
59 68 747
59 66 829
60 75 804
60 64 421
60 75 65
60 67 224
60 75 802
60 62 803
61 78 545
61 66 429
61 70 171
62 79 748
62 78 280
62 67 39
62 68 968
62 79 733
63 82 657
63 70 70
63 78 175
64 79 568
64 66 675
64 77 29
64 74 280
64 81 362
65 73 417
65 74 795
65 71 886
65 75 70
65 66 633
66 77 117
66 77 28
66 71 648
66 72 102
66 84 914
66 84 358
66 70 98
66 67 406
66 86 734
67 70 651
67 82 747
67 79 180
67 69 248
67 81 34
67 71 707
67 83 687
67 79 828
68 69 66
68 77 425
69 72 721
69 83 305
69 71 464
69 71 565
69 72 1
70 75 740
70 87 148
70 82 374
70 85 642
70 89 300
70 86 84
70 75 437
70 83 738
71 84 220
71 80 520
71 82 856
71 90 955
71 82 788
71 88 861
71 83 432
71 80 309
71 75 207
72 75 723
72 92 412
72 87 714
72 77 222
72 92 303
73 76 483
73 93 721
73 74 940
73 90 929
74 86 181
74 78 956
74 91 433
74 88 942
74 87 451
74 75 354
74 85 968
74 79 887
74 88 475
74 83 485
74 89 728
75 80 745
75 78 517
75 95 212
75 76 166
75 78 243
75 79 857
75 84 283
76 95 985
76 81 891
76 83 518
76 79 335
76 90 381
76 89 409
76 88 92
76 87 218
77 90 289
78 81 954
78 93 732
78 94 733
78 94 209
79 90 47
79 92 322
79 90 832
79 94 949
79 98 147
79 92 282
79 99 20
80 96 176
80 99 312
80 84 80
80 94 514
80 93 209
80 89 267
81 94 694
81 93 673
81 97 445
81 85 108
82 83 698
82 100 213
82 84 963
82 91 175
82 94 69
82 89 890
82 86 375
82 92 949
83 100 397
83 100 685
83 99 696
83 96 276
83 97 260
83 99 299
83 85 850
83 96 522
83 96 855
84 85 903
84 85 733
84 87 230
84 92 192
84 97 833
84 95 372
85 100 392
85 91 525
85 89 378
85 86 718
86 94 132
86 88 966
87 91 49
87 90 464
87 88 411
87 92 811
87 91 25
88 94 794
88 97 57
88 89 412
88 95 72
88 95 389
88 89 504
89 100 86
89 94 953
89 91 612
90 92 476
90 93 29
90 99 771
90 95 928
90 93 381
91 99 868
91 98 872
91 95 281
91 96 960
92 98 703
92 98 776
92 95 252
92 95 942
93 95 994
93 99 107
94 97 80
94 96 971
94 99 183
95 97 186
95 97 480
96 97 64
96 98 476
96 100 847
96 100 164
97 100 266
98 100 258
98 100 520

예제 출력 C

278

예제 입력 D

500 2000 10
1 2 47274
1 12 37961
1 13 94095
1 5 88061
1 4 72314
1 18 87558
1 20 5639
1 3 30386
2 21 33567
2 15 39436
2 10 44870
2 19 69504
2 4 56250
2 20 22719
2 13 93754
2 8 56582
3 19 13558
3 14 50762
3 6 77110
3 11 21558
3 8 64302
3 15 12473
3 23 18576
3 21 6410
3 15 7202
3 14 18589
3 4 68753
3 8 13354
3 7 72886
4 21 94588
4 18 72136
4 16 17383
4 13 84674
4 20 61758
4 5 83447
4 7 12660
4 14 58771
4 13 68305
4 7 91684
5 16 50471
5 19 24937
5 19 23702
5 7 20186
5 10 28285
5 10 70408
6 13 1201
6 19 91637
6 24 74195
6 11 64295
6 8 68237
7 21 53561
7 26 68637
7 11 13091
7 18 94358
7 21 58748
7 27 34259
8 24 51565
9 17 33661
9 13 38935
9 23 1359
9 11 29224
10 28 52615
10 24 26202
11 27 57648
11 26 21100
11 30 37919
11 25 36533
11 16 64650
12 29 30710
12 26 69743
12 19 24943
12 22 85652
13 26 5189
13 22 76091
14 18 74467
14 29 73065
14 23 40286
14 28 18694
14 17 55006
15 20 56263
15 28 52617
15 35 32795
16 22 26674
16 27 65443
16 19 2850
16 19 76774
17 34 52374
17 29 73811
17 32 9994
17 22 71816
18 29 33171
18 22 37938
18 30 70627
18 19 99734
18 36 58617
18 35 33680
19 27 54151
19 28 19130
19 24 2456
19 39 13648
19 32 82353
19 24 54801
19 39 18375
20 31 31320
20 21 70706
20 27 24235
20 39 2833
21 31 93940
21 28 47822
21 35 25839
21 41 40067
21 41 8659
22 34 29853
22 33 90852
22 37 99279
23 36 49784
23 40 14298
23 43 9145
23 37 16140
24 34 60347
25 37 57063
25 42 44414
25 26 96468
25 31 98613
25 28 92759
26 43 80312
26 35 53781
26 35 56776
26 45 46115
27 38 94465
27 35 29472
27 41 81188
27 43 19846
28 30 68326
28 46 16861
28 36 30947
28 40 53185
28 39 90455
28 33 98485
29 41 27390
29 38 94103
29 40 85194
29 46 96646
29 46 82566
30 40 946
30 48 49673
30 45 92290
30 33 65852
30 33 93468
30 41 93439
31 50 87585
31 36 81065
31 34 95430
31 42 59199
31 32 55754
31 32 28055
32 42 22133
32 48 16798
32 48 89710
32 34 29078
32 46 60128
33 49 62147
33 50 59454
34 43 26888
34 35 40180
34 36 43246
34 36 3360
34 46 62693
34 38 89008
34 43 70686
34 51 13774
35 38 46280
36 50 99369
36 38 17401
36 39 70950
36 39 78320
36 54 97223
36 40 50137
37 55 21307
37 50 59760
37 51 5543
37 40 83545
37 38 60626
37 44 94015
38 57 44135
38 55 84764
38 50 46038
38 53 67321
38 48 7180
39 44 10790
39 43 18037
39 42 99116
39 57 70175
39 48 64017
39 56 90657
40 60 62284
40 53 63963
40 48 68873
40 55 65520
40 53 92799
40 50 32641
41 44 84480
41 52 17436
41 45 57089
41 47 1941
42 60 12251
42 47 42803
43 53 98178
43 54 43631
43 54 62276
43 50 94472
44 53 52931
44 56 52090
44 46 2502
45 64 48336
45 52 79165
45 65 8600
45 64 31620
45 62 27015
46 65 51082
46 66 41644
46 62 13042
46 57 89545
46 58 61801
46 48 69391
47 61 45529
47 51 94953
47 60 39758
48 52 48188
48 62 30904
48 52 76301
48 57 71120
48 64 94931
48 61 55006
49 67 6287
49 50 2682
49 57 99290
49 58 95921
49 64 61182
49 55 96938
49 69 21495
50 57 6970
50 60 40155
51 62 75941
52 58 55528
52 63 35894
52 61 89100
52 66 9025
53 66 85099
53 64 71127
53 59 80925
53 63 84858
53 54 41190
53 55 82385
53 56 85866
53 70 32893
54 72 20064
54 71 45757
54 64 20598
54 69 12544
55 60 66230
55 69 61418
55 61 97815
56 67 93896
56 60 43111
57 77 71815
57 58 89064
57 76 26769
57 70 59736
58 75 25434
58 74 23141
58 59 34090
59 64 85761
59 70 67020
59 73 26499
59 60 85750
59 65 57422
59 73 13994
59 76 85989
59 60 63565
59 63 49055
60 78 51029
60 66 17464
60 64 48857
61 78 32328
61 70 6803
61 81 85016
61 72 90073
62 79 92562
62 76 70157
62 73 59465
62 66 1329
62 72 65081
64 66 43343
64 83 98559
64 81 46520
64 77 796
65 66 28075
65 69 45350
66 82 62216
66 72 10751
66 73 16965
66 86 87658
66 85 89970
66 82 34988
67 71 43304
67 79 86336
68 79 92935
68 69 12958
68 74 20688
68 71 32924
68 77 83600
69 83 52276
69 76 32687
70 82 61640
70 82 45831
70 88 93492
70 84 15129
71 73 81396
71 72 66332
71 91 50870
72 74 63335
72 91 42576
73 91 79345
73 82 78117
73 87 38759
73 91 30644
73 75 27998
74 85 32449
74 91 16106
74 84 23881
74 93 48270
74 86 60656
74 83 74773
75 80 21789
75 78 71296
75 91 74120
76 83 85856
76 90 83346
76 93 81687
76 80 68166
76 90 63482
76 79 90207
76 90 30794
76 94 1883
77 81 1076
77 96 47614
77 88 53221
78 93 98426
78 84 95345
78 83 73021
79 82 2118
79 86 66427
79 92 87981
79 85 6269
80 82 88977
80 96 59562
80 81 70595
81 95 19798
81 91 55420
82 100 81689
82 96 89076
82 91 84241
82 100 35027
83 99 32458
83 97 47799
83 99 64508
83 85 88406
83 90 97254
83 103 85556
84 94 80362
84 87 52582
84 91 41001
85 93 13496
85 96 41760
86 94 93196
86 103 25219
86 91 60324
87 107 3161
87 103 82082
87 100 80024
88 97 69053
88 102 84291
88 104 80423
88 92 70449
88 107 65934
89 107 51568
89 91 61759
89 93 22793
89 109 68161
90 103 65366
90 101 50561
91 98 209
91 101 9306
92 94 95167
92 102 58968
92 93 21709
92 100 30301
93 112 72873
93 99 38019
93 99 39332
93 96 42434
93 101 51063
93 99 2580
94 101 13028
95 101 71000
95 97 65118
95 108 70773
95 103 92172
95 109 90943
95 110 37977
96 113 64318
96 98 336
96 102 61469
96 114 454
96 115 68928
96 109 16072
96 116 22650
96 102 93111
97 116 7309
97 117 57569
98 110 42691
98 112 1378
98 99 73278
98 105 94395
98 117 27195
98 108 86241
98 107 60188
99 106 13113
99 106 41221
99 103 85859
100 110 40471
100 101 26148
100 108 37372
100 114 22745
100 115 92258
100 119 93897
101 116 87116
101 111 6970
101 114 41573
101 120 1782
102 115 48758
102 121 44303
102 107 10985
102 104 22257
103 115 36959
103 121 3143
103 108 33392
104 122 12817
104 110 17201
105 108 26388
105 125 74395
105 123 24498
106 113 57961
107 108 91644
107 115 22577
107 121 31478
108 112 42295
108 110 60666
108 127 50703
108 109 20527
109 110 44818
109 116 93290
109 122 95250
109 118 68182
109 121 63169
109 114 64624
110 115 45807
110 112 7942
110 129 89347
111 129 24850
111 118 40028
112 116 19474
112 120 91512
112 127 49066
112 121 1220
113 121 52299
113 118 37973
113 122 5909
113 122 28727
113 127 96587
114 124 67812
114 129 30502
114 124 28167
114 123 573
114 129 72433
115 123 195
115 119 81084
115 125 9538
117 120 3311
117 118 6327
117 135 95073
117 121 11421
117 129 30033
117 126 8607
117 121 47157
117 126 21224
117 137 7937
117 131 33997
117 119 13803
118 138 74814
118 121 71581
118 119 25448
118 129 76954
118 129 1518
118 122 56101
118 126 90042
119 129 61614
119 122 23358
119 138 38878
119 139 20384
119 138 53461
119 127 18598
119 135 46322
120 124 39245
120 123 14627
120 126 46401
120 136 42653
121 122 3608
121 138 5038
121 140 95807
121 139 39793
122 123 3658
122 135 68083
122 133 24118
123 142 81124
123 133 77169
123 136 98447
123 126 85756
123 132 34477
124 143 70079
124 142 438
124 144 61614
125 140 58554
125 144 26299
125 143 26784
125 135 66108
126 140 17501
126 137 81391
126 133 11303
126 133 87483
127 143 84890
127 133 31816
127 145 22507
127 140 27522
128 144 55419
128 134 51722
128 133 8926
128 135 61742
128 137 29852
128 146 50378
128 148 47064
128 129 83902
129 133 72143
130 139 37777
130 135 24292
130 150 56087
130 150 64266
131 146 89648
131 146 96688
131 143 67569
131 132 33668
132 148 67398
132 141 71825
133 145 25224
133 135 66923
133 152 54091
134 149 97565
134 151 29516
135 145 37073
135 151 20889
136 137 24112
136 151 97569
136 152 7610
136 144 57374
137 146 31624
137 144 47344
137 151 69711
137 142 76188
138 150 14296
138 151 79972
138 140 50575
138 149 85385
138 149 13400
138 144 71054
139 148 59913
139 158 84655
139 141 55716
139 154 75649
139 150 89251
139 156 88636
139 151 8601
140 156 24375
140 150 25542
140 144 2403
140 146 16619
140 145 49978
141 153 91423
141 142 76361
142 158 96497
142 158 97164
142 161 99792
142 158 42697
143 150 39175
143 155 37360
145 153 15020
145 163 22305
145 165 68492
145 163 13967
145 147 1887
145 165 94515
146 150 1426
146 157 65315
146 159 70516
146 148 1589
146 147 79440
146 163 65343
147 156 61805
147 167 1105
147 149 39683
147 163 10277
147 161 29487
147 149 20341
147 153 47288
147 162 27502
148 162 30979
148 152 17924
148 157 30932
148 158 21063
148 158 85942
149 152 17028
149 154 64397
149 151 98094
149 162 82554
149 150 80126
149 156 87550
149 162 75289
150 153 85955
150 154 88241
150 164 28871
150 163 14143
150 153 13786
150 153 94959
150 169 50778
151 164 81148
151 161 1757
151 153 71102
151 170 81424
151 165 26769
151 166 94605
152 167 1401
152 162 58209
152 161 93826
152 162 1999
153 162 77356
153 169 86703
154 170 69127
154 161 80012
154 156 7643
154 168 26189
154 160 74508
155 175 47985
155 173 19164
155 156 2928
155 161 67729
155 169 87567
155 158 69032
156 158 26676
156 162 70634
156 174 1164
156 167 48735
156 170 84906
157 176 68240
157 160 864
159 160 19393
159 172 274
159 170 61694
159 178 14457
159 174 75189
159 173 59206
160 178 53413
160 166 54248
160 163 99589
160 175 8623
161 177 28233
161 170 62962
161 167 352
162 174 89950
162 175 90577
162 172 96287
162 180 18855
163 182 5732
164 176 71035
164 172 1438
164 165 71153
164 171 62906
164 180 2341
164 169 21728
165 174 35496
165 168 82074
165 177 10757
166 170 46712
166 176 22649
166 177 27891
166 185 18547
166 180 14962
166 181 56072
166 183 63146
167 170 5865
167 182 23464
167 179 70425
167 172 91796
167 182 15274
167 177 286
167 180 4408
168 188 67404
168 169 37352
168 176 42168
169 175 74689
169 183 80979
169 172 82332
169 179 7070
169 177 20777
170 187 20987
170 171 83907
170 186 53807
171 178 78836
171 175 71531
171 185 4587
171 172 57243
171 189 18141
171 190 8415
171 189 70473
171 186 90584
172 192 50769
172 174 12741
172 185 45430
172 177 51534
172 184 49636
173 176 80
173 182 75118
174 191 91707
174 187 8074
174 180 54584
174 183 3200
174 192 55888
174 179 48207
174 177 80185
175 187 25889
176 188 90257
176 186 43808
176 193 20128
176 194 47417
176 191 26009
176 189 50704
176 191 38065
177 182 11076
177 178 86212
177 195 40596
178 193 46852
178 189 99042
178 181 71011
178 184 7511
179 190 33987
179 192 29911
179 198 87147
179 195 54726
180 197 95213
180 183 15644
180 196 19654
180 192 82805
181 189 61542
182 194 45596
182 192 71265
182 191 27481
182 188 51045
182 191 21656
182 186 43372
182 201 94188
182 188 80676
182 202 62163
183 195 27022
183 185 70300
183 186 56884
185 203 83543
185 189 20366
185 204 67852
185 199 21159
185 199 21342
185 188 76155
186 202 92273
186 197 63299
186 193 58362
186 195 45237
186 188 70534
187 191 8998
187 190 18350
187 207 51617
187 204 12537
187 203 70221
187 192 25090
188 195 97545
188 202 40219
189 200 92683
189 196 41523
189 198 87834
189 204 87140
189 190 86568
189 201 14256
189 197 83140
190 193 70237
190 195 84511
190 198 39182
191 206 58638
191 195 87605
191 211 91583
191 197 92038
191 198 6559
191 199 6749
191 198 65307
191 195 62658
192 211 47526
192 193 52251
192 199 21690
192 195 18819
192 196 66819
192 194 89450
193 209 96200
193 195 28686
193 205 12827
193 207 78600
194 197 53523
194 207 67753
194 200 24280
194 210 30135
194 199 85039
194 199 36275
194 205 37958
194 205 56397
195 211 34627
195 196 88234
195 204 7512
195 204 54021
195 202 22633
196 204 99731
196 213 62129
196 199 15547
196 202 946
196 216 40614
197 213 11851
197 204 3843
197 211 93007
197 204 88287
197 203 30596
198 212 43603
198 213 36457
198 210 35838
198 204 731
199 200 73956
199 200 50266
199 214 199
199 210 68760
199 209 28165
200 201 15569
200 202 82306
200 220 8081
200 203 47192
200 207 28227
200 216 19612
200 211 40102
200 204 26515
201 215 10613
201 220 94437
201 212 62422
201 210 33425
201 220 40674
202 217 26817
202 213 3671
202 204 43103
202 205 32539
203 213 55063
203 223 27122
203 212 81967
203 204 22066
203 212 48949
203 219 70949
204 223 40248
204 218 38414
204 218 48457
204 212 65568
204 213 1827
204 219 95019
205 217 98553
205 220 63784
205 211 18399
205 217 59351
206 215 59964
206 211 58022
207 219 34111
207 221 91013
207 223 89375
207 225 13577
207 226 54071
208 218 10766
208 226 60098
209 223 44656
209 221 14419
209 213 85115
209 219 95992
210 230 30289
210 214 47327
210 212 45852
211 221 33098
211 218 12405
211 212 52032
211 224 56677
211 212 93444
211 229 74393
211 213 89722
212 217 11995
212 216 22102
212 217 54607
212 224 1687
212 222 22363
213 227 87493
213 217 347
213 218 27319
214 228 69779
214 218 76632
214 224 32326
214 233 68298
214 216 45783
214 218 52555
214 221 94079
214 215 70328
214 232 20478
214 226 23295
215 229 50149
215 224 83817
215 217 46051
215 235 77496
215 224 45390
215 222 47197
216 217 61220
216 235 76046
216 236 21347
217 223 69638
217 230 70182
217 229 64189
217 234 49281
218 224 48713
218 231 85247
218 230 13045
218 227 56441
219 220 79617
219 228 90586
219 234 95450
219 236 60049
220 231 33787
220 233 75383
220 232 21828
220 233 37298
220 240 42475
220 229 91305
220 237 68065
220 235 30920
221 241 34630
221 222 33222
221 235 34030
221 230 65685
221 227 30357
221 234 52730
222 223 59650
222 230 88766
222 227 22537
223 239 52596
224 234 26083
224 236 41212
225 229 75697
225 240 4007
226 227 52751
226 239 33116
226 230 54758
226 237 78138
227 231 69476
227 243 88815
227 230 17008
227 245 14361
228 230 96168
228 243 73643
228 246 61357
228 232 21074
228 241 65922
230 244 11161
230 236 64049
231 246 52729
231 239 4591
232 239 47029
232 233 65473
232 247 71621
232 240 75918
233 235 42736
233 242 29159
233 239 65248
233 242 17157
233 249 73825
233 253 19553
234 239 15851
234 235 67306
235 237 98416
235 252 90274
235 247 1495
236 244 71546
236 247 9786
236 244 74543
236 256 93181
237 246 77669
238 244 63088
238 249 68868
238 248 74743
238 239 15311
239 247 59960
239 250 18892
241 260 92613
241 258 8433
241 251 85754
242 247 48508
242 246 23289
242 262 31047
242 247 77252
243 260 34969
243 258 64683
243 252 656
243 254 42551
243 252 30653
244 255 90086
245 255 36641
246 255 3128
246 252 95303
247 262 2169
248 255 11889
248 262 57456
248 253 89816
248 260 99607
249 250 62142
250 262 6796
250 265 8375
250 252 33111
250 257 3047
250 262 47005
251 254 44893
251 264 63636
251 268 82160
252 253 41448
252 261 94409
252 261 77678
252 259 12498
252 270 23768
252 259 84957
252 260 58136
252 261 11656
252 267 94520
253 261 68847
253 260 25032
253 254 81858
254 264 26601
254 272 47193
254 265 70107
254 268 27270
254 260 14546
255 265 48762
255 272 77422
255 261 51162
255 262 1978
256 274 64387
256 272 36149
257 276 19724
257 269 38032
258 264 74635
258 276 50440
258 277 54650
258 272 74692
258 263 70091
259 266 32097
259 272 72378
260 275 18012
260 269 25074
261 266 92031
261 268 52099
261 276 2576
261 263 77187
261 272 48806
261 276 39794
261 271 910
261 275 9218
261 262 31677
261 263 86758
262 277 48902
262 269 27514
262 265 21791
262 273 85669
262 282 63407
263 279 82522
263 269 22794
264 281 42837
264 281 52017
264 276 67668
265 275 88083
265 281 43091
265 276 8232
265 283 29164
265 283 37904
265 279 55135
266 277 98359
266 271 78623
266 284 52028
266 276 46941
266 284 9331
266 281 38905
267 268 50583
267 275 75910
267 276 59332
267 272 24302
267 284 72148
267 276 52454
267 274 89351
268 272 41810
268 269 81705
268 285 38972
268 277 98159
268 283 31201
269 271 38002
269 283 83772
270 286 67583
270 272 37256
270 286 4158
271 272 2704
271 288 41218
271 284 32489
271 291 95984
271 278 70195
272 291 34051
272 289 13115
272 275 48016
273 293 43541
273 276 54901
273 282 98264
273 277 64487
273 280 97050
274 289 67005
274 282 54766
274 280 81863
274 284 67914
275 283 11411
275 284 61790
275 292 12464
276 290 80242
276 289 69156
276 296 81504
276 290 16892
277 291 10194
277 293 33923
277 286 66988
277 294 72452
277 281 75437
277 294 52403
277 283 25555
278 284 2697
278 297 91245
278 296 19614
278 282 89764
278 291 4045
278 298 64300
278 283 70226
278 296 79559
278 285 50742
279 294 85292
279 293 19295
280 289 45942
280 290 74145
280 289 36447
280 293 51786
281 298 33439
281 285 30781
281 293 11248
281 294 51501
282 288 7060
282 290 26604
282 287 30152
282 296 48788
282 296 74026
284 285 77094
284 286 64042
284 292 76594
284 285 51693
285 305 88006
285 292 95368
285 288 45738
285 292 63627
285 303 94283
286 300 67019
286 306 85318
286 298 42324
286 295 12840
286 288 46127
287 300 17876
287 302 6881
287 304 81364
287 301 2196
287 296 92899
287 301 89434
287 294 62059
288 307 90798
288 304 92507
288 293 46558
289 309 10331
290 295 85430
290 298 4210
290 307 85598
291 305 76104
291 309 88328
291 304 44792
291 309 11490
291 303 81320
292 310 515
292 297 91260
292 308 26819
293 304 33911
293 296 14651
294 299 70148
294 305 34064
294 298 42869
294 303 62202
294 310 58361
294 298 76618
295 303 72099
295 314 1707
295 300 20041
295 315 18151
296 311 59850
296 306 11373
296 309 93459
296 315 92898
296 311 87364
296 316 89383
296 306 77150
296 308 4905
297 314 20960
297 307 10830
297 312 19459
297 303 99278
298 318 86114
299 306 88992
300 315 15630
300 302 99624
300 315 92193
300 306 17693
300 314 58321
301 308 49183
302 320 10264
302 306 30760
303 310 86273
303 310 90306
303 305 61557
303 318 50890
303 320 85160
303 315 19940
304 310 14093
304 312 16224
304 314 75073
304 308 20059
305 315 41478
305 315 27400
306 318 45102
306 311 31344
307 316 41116
307 326 25096
307 322 94549
307 326 80115
307 314 71196
307 323 29735
307 320 31855
307 314 36356
308 316 69868
308 315 35522
308 315 20616
308 312 90538
308 312 85953
308 315 90040
308 327 50098
309 318 97519
309 323 93543
310 318 12014
310 319 39442
310 319 12178
310 330 31533
310 321 28028
311 330 80209
311 316 35972
313 324 81319
313 314 91246
314 328 43244
314 329 67372
314 315 16218
314 332 92932
314 318 42805
314 333 24468
315 321 20755
315 318 14451
315 322 62688
315 332 62969
316 335 37648
316 329 99746
316 329 59622
316 333 78702
317 337 62517
318 324 32141
318 325 42677
318 319 2730
318 322 7993
318 333 66709
319 339 36990
319 324 91413
319 326 23846
319 331 85886
320 323 67526
321 337 78655
321 323 81437
322 342 32175
323 326 12694
323 335 20314
324 330 54351
324 340 61958
324 339 5675
324 343 76779
324 331 49349
325 345 99778
325 332 7926
325 326 47276
325 336 31801
326 333 10343
326 331 53165
326 345 42333
326 335 57147
326 331 23149
326 342 96296
326 344 81806
327 343 52829
327 329 97761
328 345 76662
328 338 8311
328 339 91783
329 335 26627
329 341 24085
329 343 12368
329 342 83188
329 342 80694
330 336 50317
330 345 76793
330 334 89683
330 341 81043
330 338 11574
331 336 13876
331 336 94615
331 347 87159
331 338 99869
332 337 25814
332 346 88071
332 351 55056
332 339 98211
332 346 23930
333 342 91695
333 343 17588
334 344 41198
334 343 18990
334 350 6301
335 344 70314
335 347 25638
335 345 23075
336 347 93189
336 347 11071
337 341 72729
337 342 70241
337 344 19949
337 352 26178
337 339 1784
338 348 4433
338 353 98897
338 354 39448
338 352 93991
339 353 22801
339 344 62145
340 347 83193
340 350 38801
340 347 76724
340 354 52686
340 356 39265
340 342 69714
341 342 33935
342 354 3201
342 343 86112
342 348 77787
342 361 64973
342 348 65956
343 350 30778
343 344 61154
343 357 44572
344 364 29174
344 363 67992
344 358 21183
344 363 77997
344 356 42363
345 363 981
345 357 35728
346 356 26168
346 366 21498
346 359 69826
346 363 82406
347 359 96342
347 357 57454
347 360 84931
347 353 68341
347 366 59270
347 363 42774
348 349 73568
348 354 88872
348 353 45305
348 352 98293
348 363 19844
349 355 52715
349 356 75909
349 365 66402
350 355 90065
350 370 21631
350 369 91797
350 360 62024
352 363 57498
352 367 5481
352 360 77095
352 372 87911
352 353 12087
352 359 16691
353 358 38445
353 368 32737
353 369 54485
354 368 88586
355 361 99053
355 362 49055
355 368 18420
355 364 71887
356 374 83217
356 365 21722
356 366 87383
356 370 44006
356 371 72408
357 374 74674
357 365 43496
357 374 75434
357 364 69683
357 373 69242
357 368 84081
357 374 19990
358 377 15656
358 361 51258
358 367 71491
359 372 31101
359 371 44947
360 377 90955
360 364 82339
361 375 91316
361 368 93728
361 367 71039
362 363 9352
362 380 55699
362 373 12674
362 369 70311
362 371 19423
362 364 70615
362 364 1007
364 379 1626
364 370 11959
364 383 84243
364 367 25489
365 369 40949
365 381 47893
365 381 10778
366 373 9271
366 370 91797
367 383 30689
367 383 88519
367 375 43538
367 370 82495
367 368 3543
368 371 11813
368 379 56249
368 378 39433
368 380 30279
368 375 56711
369 378 75813
369 379 21886
369 389 10117
369 371 8337
369 371 46950
369 379 40702
370 386 50154
370 377 49197
370 378 22556
370 386 30235
370 388 55553
371 380 97512
371 375 50526
371 391 56301
371 377 48523
371 373 78178
371 380 11047
372 379 85231
372 379 61164
372 389 84834
373 386 58836
373 385 70016
373 379 939
373 391 99007
373 378 39703
374 386 5859
374 390 77878
374 377 49303
375 383 51607
375 382 91743
375 377 88236
376 387 37052
376 385 67709
376 387 5872
376 388 13729
376 393 80914
376 380 43929
376 378 45428
377 383 76781
377 384 93491
377 393 16347
379 393 21279
379 386 26253
379 397 38588
379 389 59723
379 395 14855
380 394 55344
380 385 20477
380 399 80321
381 384 58281
381 396 61052
381 398 3196
382 384 30925
382 393 47746
382 397 11959
382 393 46930
382 401 9089
383 400 76295
383 394 41422
383 397 22733
383 395 9266
383 385 32621
384 396 20786
384 388 79869
385 391 42027
385 401 7585
385 403 89685
385 393 9799
386 399 42681
386 406 90130
386 395 79601
386 397 19572
386 391 75920
386 405 55826
386 394 35746
387 394 62307
387 407 11556
387 402 99913
387 398 26039
387 399 19843
388 405 15665
388 396 45730
388 407 9493
389 391 42042
389 400 71748
389 401 43627
389 403 5076
390 399 73169
390 406 94528
391 403 47145
391 403 86592
391 406 20454
391 410 93146
391 398 55650
391 401 61433
392 407 79288
392 406 73773
392 409 98082
392 404 60883
393 406 8286
393 409 84839
393 397 46103
393 402 65367
393 399 3745
394 414 9530
394 400 32644
394 413 10176
394 398 17981
395 402 93675
395 411 94945
395 403 5071
395 413 3060
395 396 5814
395 405 74058
396 411 10344
396 397 35627
396 415 1129
396 407 78844
397 416 75234
397 400 90523
397 412 22468
397 416 9835
397 405 14955
398 410 32738
398 401 73552
399 407 72495
400 411 91137
400 416 287
400 403 12645
400 417 59265
400 402 99370
401 421 69897
401 402 88418
401 410 22723
402 411 59982
402 416 84233
402 412 9049
402 409 61350
403 406 61000
403 410 8539
403 411 11808
403 405 65345
403 423 56056
404 414 73297
404 418 20353
405 420 53361
405 416 95540
406 420 72896
406 415 72506
406 413 16499
406 410 60994
406 416 87105
406 413 7438
407 408 14940
408 422 98927
408 426 20705
408 426 37171
409 411 91202
409 420 3403
409 421 94225
409 416 76418
409 424 59424
409 424 72507
409 429 50695
411 427 37818
411 431 61286
411 412 60198
411 417 40107
411 427 82733
411 422 83478
412 418 97128
412 414 83292
412 422 55297
412 416 70121
413 425 36227
413 419 75640
413 431 58016
414 434 40120
414 422 31705
415 428 40871
415 433 61241
416 428 13314
416 424 50066
416 436 65713
416 427 91421
416 429 32189
416 418 60076
416 423 34627
416 435 98771
417 429 51741
417 429 73654
418 426 21615
418 434 46484
419 436 75999
420 434 45109
420 435 11432
420 424 51055
421 438 3937
421 435 76383
422 433 69594
422 439 22455
422 425 11414
422 435 72786
422 435 93472
422 434 72640
423 438 19127
423 433 53662
423 434 37723
424 436 25621
424 439 19965
424 429 80775
424 431 2962
424 437 80773
425 430 9625
425 435 81012
425 433 37229
425 444 58945
425 441 76620
425 441 73587
425 429 5625
426 445 7808
426 435 22159
426 442 53699
426 430 71047
426 435 3388
427 437 57276
427 440 10072
427 445 73709
427 435 42530
427 444 49203
428 431 90826
428 442 91763
428 441 36469
429 443 11158
429 434 81350
429 445 12855
429 438 43180
429 435 88605
429 433 35595
429 447 84634
429 444 71903
430 442 13842
430 450 46606
430 439 8960
430 445 20926
431 441 59382
431 440 88776
431 448 8916
432 449 99227
432 445 7963
432 438 25491
432 452 81202
432 439 41819
432 447 24120
432 436 56192
432 447 93035
432 436 68520
432 439 57929
432 433 11140
432 441 29973
433 445 54722
433 446 11996
433 449 51126
433 447 34840
433 453 6649
433 447 27860
434 447 77042
434 441 49906
434 444 18181
434 450 83946
435 450 18409
435 449 69539
436 451 11983
436 455 90151
436 452 53903
436 446 82274
436 446 27909
437 451 28459
437 445 37452
438 457 87190
438 454 49561
438 443 44025
438 452 66508
438 451 35246
439 441 61955
439 444 51209
439 458 30175
440 448 26170
440 455 15194
440 457 96245
440 442 3977
441 455 64592
441 448 37567
441 443 70844
441 459 52339
441 443 47896
443 445 21251
443 462 60290
444 461 3240
444 450 63935
445 460 76987
445 461 11390
445 452 61033
445 451 19224
445 463 33523
445 461 19834
446 466 3753
446 450 89926
446 464 81545
446 460 90807
446 449 86450
447 455 39316
447 463 36397
447 463 94535
447 459 79902
447 456 12493
448 452 1288
448 466 85088
448 458 31071
449 452 10964
449 451 2034
449 464 14128
449 465 60632
449 454 12782
450 463 16313
450 451 27892
450 458 89297
450 455 63619
450 456 92145
451 456 58063
452 458 29703
452 459 20640
452 469 8095
452 460 20793
452 458 32617
453 458 62392
453 454 7181
453 465 55757
454 469 40861
454 466 10862
455 456 30810
455 458 23994
455 462 42633
455 468 78941
456 461 67030
456 459 24531
456 459 66394
456 460 42368
456 473 56506
456 469 29344
457 465 22384
457 464 56010
457 476 72350
457 460 25402
457 466 71232
457 475 56143
458 476 95361
458 462 51666
458 461 64289
459 463 39385
459 476 64821
459 468 32715
459 474 77039
459 475 42101
460 463 20848
460 464 43932
461 465 34859
461 480 13059
461 473 30620
461 469 57167
461 465 76313
462 467 49337
462 468 32760
462 479 30277
462 472 35409
462 463 43329
462 479 30677
463 472 43743
463 470 32015
463 472 74070
463 481 32378
463 465 25638
464 480 85075
465 473 99051
465 471 7536
465 477 21972
466 479 12289
466 473 52660
466 486 32726
466 476 89848
467 486 40450
467 486 55115
468 477 86686
468 478 13863
469 483 22241
469 488 48476
470 481 33742
470 475 50662
470 476 31375
470 488 72698
470 478 81729
470 490 14160
470 482 30351
471 482 81528
471 475 26371
471 480 17222
471 488 61643
471 483 86128
471 485 34633
471 479 99978
472 480 41949
472 477 7023
472 473 22822
472 480 17555
474 489 65415
474 491 84215
474 487 25367
474 476 54893
474 489 42235
474 493 61164
474 480 37272
475 493 45430
475 481 14532
475 479 15416
475 489 53228
475 486 13041
475 487 55916
476 495 64615
476 479 68890
476 492 19991
476 495 89395
477 495 28091
477 487 66474
477 489 83217
477 491 48526
478 483 77225
478 496 98700
478 484 31551
478 487 20741
478 497 64603
479 481 95346
479 487 50197
479 497 24996
479 488 93196
479 492 60912
479 495 6760
479 496 8828
480 499 59246
480 483 72771
481 487 56069
481 486 64815
481 491 42407
481 500 62552
482 494 96090
482 489 29671
482 492 35744
482 500 66320
482 489 72635
482 492 77824
483 500 13445
483 493 94786
483 493 1775
483 495 99769
483 486 32408
483 499 41673
483 497 49969
483 485 48310
483 489 49838
484 487 28722
484 485 76367
484 500 14033
484 487 65168
484 486 12880
484 499 54974
485 486 49109
485 489 62012
485 498 10568
486 490 34068
486 489 11586
486 489 2737
487 492 34757
487 488 76556
488 500 8460
488 500 52454
488 498 80196
489 490 20358
489 499 2620
489 499 45171
489 491 84217
489 496 28645
490 493 21341
490 493 57047
490 496 30776
491 492 85023
491 500 6960
492 496 45201
493 500 86061
496 497 15360
496 498 10792
496 498 96390
497 500 63493
498 500 85623

예제 출력 D

135350

출처

Olympiad > USA Computing Olympiad > 2008-2009 Season > USACO February 2009 Contest > Gold 3번

알고리즘 분류


해결방법

통과된 코드

#include <iostream>
#include <vector>
#include <queue>
#include <tuple>

using namespace std;

constexpr long long int INF = INT64_MAX;

long long int disArr[10001][21];

priority_queue<tuple<long long int, int, int>> myPQ;

vector<pair<int, int>> graph[50000];

int N, M, K, U, V, dist, cnt;

int main()
{
	ios_base::sync_with_stdio(false); // scanf와 동기화를 비활성화
	// cin.tie(null); 코드는 cin과 cout의 묶음을 풀어줍니다.
	cin.tie(NULL);
	cout.tie(NULL);

	cin >> N >> M >> K;

	for (int i = 0; i < M; i++) {

		cin >> U >> V >> dist;
        // 양방향 도로
		graph[U].push_back(make_pair(V, dist));

        graph[V].push_back(make_pair(U, dist));

	}

    // 다익스트라 배열 초기화
	for (int i = 1; i <= N; i++)
        for (int j = 0; j <= 20; j++)
            disArr[i][j] = INF;


	// 우선순위 큐에 삽입.
	myPQ.push({ 0, 1, 0 }); // < first : 거리 , second : 노드 인덱스 >

	disArr[1][0] = 0;

    while (!myPQ.empty()) {
        // -를 붙이는 이유는 우선순위 큐를 이용하여 정렬하기 위함이다.
        // (최소힙으로 구현)
        long long int nCost = -get<0>(myPQ.top());

        int now = get<1>(myPQ.top());

        int cnt = get<2>(myPQ.top()); // 포장개수

        myPQ.pop();
        // 이미 담겨 있는 것보다 거리가 크면 넘어간다.
        if (disArr[now][cnt] < nCost) continue;
        // 해당 노드에서 연결된 모든 경로를 확인
        for (int i = 0; i < graph[now].size(); i++) {

            // disSum = 임시 노드 + 현재 노드에서 i로가는 비용
            long long int disSum = nCost + graph[now][i].second;

            // 비용이 작다면 최단경로 테이블 값을 갱신.
            // 도로가 포장을 안했을 경우
            if (disSum < disArr[graph[now][i].first][cnt]) {
                // 임시 노드 업데이트
                disArr[graph[now][i].first][cnt] = disSum;
                // 우선순위 큐에 (거리, 노드 인덱스) 푸시
                myPQ.push({ -disSum, graph[now][i].first, cnt});

            }

            // 비용이 작다면 최단경로 테이블 값을 갱신.
            // 도로가 포장을 했을 경우 이동값은 0
            // 포장할 수 있는 도로의 개수를 넘으면 안된다.
            if (nCost < disArr[graph[now][i].first][cnt + 1] && cnt < K) {
                // 임시 노드 업데이트
                disArr[graph[now][i].first][cnt + 1] = nCost;

                myPQ.push({ -nCost, graph[now][i].first, cnt + 1 });

            }
        }
    }

    long long int result = INF;

    for (int j = 0; j <= K; j++) result = min(disArr[N][j], result);
    
    cout << result;
  
	return 0;
}

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤