• usaco-3.3-fence-pass


    euler公式,本以为很容易通过,但是边界条件要注意,呵呵。

    还有,不需要vis数组控制访问与否。

    /*
    ID: qq104801
    LANG: C++
    TASK: fence
    */
    
    #include <iostream>
    #include <fstream>
    #include <cstring>
    #include <vector>
    #include <queue>
    #include <stack>
    
    using namespace std;
    
    #define nmax 501
    
    int g[nmax][nmax];
    int degree[nmax];
    int vis[nmax][nmax];
    stack<int>ans;
    int ff;
    int minx;
    
    inline int max(int a,int b)
    {
        return a>b?a:b;
    }
    
    void euler(int u)
    {
        for(int v=1;v<=minx;v++)
            if(g[u][v]) // && !vis[u][v])
            {
                vis[u][v]=1;
                g[u][v]--;
                g[v][u]--;
                euler(v);
                //cout<<"u:->v: "<<u<<" "<<v<<endl;
            }
        ans.push(u);
    }
    
    void test()
    {    
        freopen("fence.in","r",stdin);
        freopen("fence.out","w",stdout);
        cin>>ff;
        int x,y;
        minx=0;
        for(int i=0;i<ff;i++)
        {
            cin>>x>>y;
            g[x][y]++;
            g[y][x]++;
            degree[x]++;
            degree[y]++;
            minx=max(minx,x);
            minx=max(minx,y);        
        }
        //cout<<minx<<endl;
        bool find=false;
        for(int i=0;i<=minx;++i)
            if(degree[i]%2==1)
            {
                find=true;
                euler(i);
                break;    
            }
        if(!find)euler(1);
        while(!ans.empty())
        {
            cout<<ans.top()<<endl;
            ans.pop();
        }
    }
    
    int main () 
    {        
        test();        
        return 0;
    }

    test data:

    USACO Training
    Grader Results     
    14 users online
    CHN/3 IND/4 MYS/1 USA/6
    
    USER: cn tom [qq104801]
    TASK: fence
    LANG: C++
    
    Compiling...
    Compile: OK
    
    Executing...
       Test 1: TEST OK [0.005 secs, 5468 KB]
       Test 2: TEST OK [0.005 secs, 5468 KB]
       Test 3: TEST OK [0.005 secs, 5468 KB]
       Test 4: TEST OK [0.011 secs, 5468 KB]
       Test 5: TEST OK [0.014 secs, 5468 KB]
       Test 6: TEST OK [0.011 secs, 5468 KB]
       Test 7: TEST OK [0.027 secs, 5468 KB]
       Test 8: TEST OK [0.057 secs, 5468 KB]
    
    All tests OK.
    
    Your program ('fence') produced all correct answers! This is your submission #6 for this problem. Congratulations!
    
    Here are the test data inputs:
    
    ------- test 1 ----
    3
    1 2
    2 3
    3 1
    ------- test 2 ----
    1
    10 20
    ------- test 3 ----
    9
    1 2
    2 3
    3 4
    4 2
    4 5
    2 5
    5 6
    5 7
    4 6
    ------- test 4 ----
    15
    2 9
    9 7
    9 5
    5 10
    10 1
    1 7
    7 10
    7 3
    3 4
    4 5
    5 3
    3 6
    6 5
    4 10
    5 2
    ------- test 5 ----
    100
    11 15
    18 21
    24 35
    39 5
    31 29
    29 36
    36 39
    39 15
    15 23
    23 11
    11 24
    24 18
    18 36
    36 24
    24 28
    28 40
    40 33
    33 13
    13 28
    28 38
    38 37
    37 5
    5 19
    19 35
    35 40
    40 34
    34 10
    10 18
    18 39
    39 29
    29 22
    22 16
    16 27
    27 12
    12 6
    6 16
    16 8
    8 5
    5 30
    30 15
    15 13
    13 7
    7 11
    11 37
    37 35
    35 11
    11 30
    30 7
    7 38
    38 27
    27 3
    3 5
    37 2
    2 39
    39 6
    6 20
    20 37
    37 34
    34 1
    1 12
    12 21
    21 13
    13 17
    17 36
    36 21
    21 25
    25 11
    11 36
    36 38
    38 17
    17 7
    7 35
    11 17
    17 24
    18 15
    15 10
    10 20
    20 17
    17 15
    15 16
    16 19
    19 13
    13 22
    22 38
    38 9
    9 15
    39 21
    36 12
    12 37
    37 31
    31 32
    32 18
    18 16
    16 2
    2 14
    14 19
    19 20
    20 8
    8 30
    30 31
    ------- test 6 ----
    83
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    2 1
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    1 2
    1 2
    2 1
    1 2
    ------- test 7 ----
    500
    1 172
    2 201
    3 295
    3 42
    5 220
    5 31
    6 158
    6 288
    7 91
    8 199
    8 227
    9 72
    10 103
    10 276
    11 167
    12 3
    13 180
    14 139
    14 237
    15 114
    16 109
    16 271
    16 290
    19 217
    20 137
    20 198
    21 246
    21 262
    22 211
    23 33
    23 79
    24 140
    24 245
    26 38
    26 65
    27 123
    27 65
    28 87
    29 218
    30 136
    30 202
    31 202
    31 68
    32 102
    32 130
    33 110
    33 112
    33 116
    33 96
    34 176
    35 156
    35 278
    38 54
    40 150
    40 250
    40 84
    41 199
    41 271
    41 52
    42 131
    43 103
    44 118
    44 218
    45 26
    46 234
    46 48
    48 235
    49 113
    49 272
    50 262
    51 117
    52 62
    53 128
    54 275
    55 138
    58 20
    58 259
    59 117
    60 174
    60 61
    60 89
    61 195
    62 266
    62 30
    65 223
    65 282
    65 70
    68 120
    68 122
    68 191
    69 129
    69 213
    70 253
    71 107
    71 65
    72 128
    72 236
    72 242
    72 275
    72 92
    73 118
    73 174
    74 207
    75 176
    75 33
    77 172
    77 250
    78 114
    78 174
    79 185
    80 140
    81 9
    82 266
    83 22
    84 122
    84 203
    84 97
    86 23
    87 117
    88 160
    89 250
    89 278
    89 35
    90 33
    91 108
    91 158
    91 232
    92 160
    92 175
    92 50
    92 98
    94 136
    95 189
    95 84
    96 41
    96 73
    96 8
    97 187
    97 231
    97 27
    98 193
    98 92
    99 158
    99 181
    99 227
    99 249
    99 92
    100 145
    100 16
    100 167
    100 51
    100 55
    101 230
    102 11
    102 163
    102 175
    102 220
    102 99
    103 10
    103 124
    103 224
    103 40
    104 24
    105 108
    105 95
    107 102
    107 252
    107 283
    108 100
    108 181
    108 198
    108 60
    109 287
    110 83
    112 44
    113 16
    113 41
    114 160
    114 237
    114 46
    114 72
    114 99
    115 208
    115 89
    116 12
    116 161
    117 142
    117 187
    117 239
    117 257
    118 194
    118 284
    118 60
    119 159
    119 95
    120 134
    121 75
    122 166
    122 167
    123 270
    123 90
    124 272
    125 21
    125 279
    127 128
    127 99
    128 194
    128 256
    128 28
    128 99
    129 227
    129 271
    129 295
    129 40
    130 142
    131 276
    131 32
    131 97
    133 102
    134 170
    136 164
    136 217
    136 6
    136 72
    137 183
    138 235
    139 114
    139 275
    140 23
    140 275
    142 115
    142 159
    142 274
    142 298
    143 232
    143 271
    144 35
    145 259
    147 149
    149 224
    149 227
    150 266
    155 116
    156 273
    156 71
    157 14
    158 103
    158 186
    158 2
    158 264
    158 284
    159 185
    159 276
    160 142
    160 218
    160 219
    160 222
    161 178
    161 268
    163 149
    163 216
    163 220
    164 189
    164 19
    165 157
    165 58
    166 143
    166 155
    166 160
    166 254
    166 43
    167 223
    167 239
    167 279
    167 296
    168 102
    168 104
    168 3
    169 228
    170 185
    170 219
    172 119
    172 275
    172 32
    173 125
    174 129
    174 165
    174 270
    175 100
    175 114
    175 208
    175 250
    175 34
    176 296
    176 96
    177 268
    178 131
    179 215
    180 14
    180 283
    181 125
    181 268
    182 232
    183 49
    185 167
    185 190
    185 277
    186 15
    186 199
    186 230
    186 287
    186 33
    187 147
    187 298
    187 5
    189 175
    189 215
    190 58
    191 92
    193 100
    193 166
    193 91
    194 233
    194 249
    194 69
    194 8
    195 89
    198 136
    198 168
    198 202
    199 286
    199 49
    199 91
    200 103
    200 115
    200 29
    201 168
    201 254
    202 105
    202 121
    202 205
    202 59
    202 68
    203 21
    205 156
    207 129
    207 88
    208 6
    208 77
    211 13
    213 194
    215 166
    215 251
    216 41
    216 78
    217 129
    217 201
    218 226
    218 279
    218 69
    219 10
    219 257
    219 291
    220 226
    220 262
    220 78
    222 202
    223 108
    223 193
    224 127
    224 186
    224 284
    225 173
    225 82
    226 254
    226 30
    227 119
    227 169
    227 179
    227 200
    228 72
    230 158
    230 158
    230 165
    230 166
    230 255
    231 136
    231 46
    232 102
    232 161
    232 200
    233 272
    234 71
    235 230
    235 77
    236 44
    237 163
    237 168
    239 164
    239 94
    241 62
    242 139
    243 294
    245 264
    245 81
    246 299
    249 186
    249 225
    250 108
    250 294
    250 31
    250 80
    251 5
    252 107
    253 113
    254 27
    254 73
    254 75
    255 72
    256 105
    256 133
    256 231
    257 20
    257 245
    259 100
    259 97
    260 198
    262 117
    262 7
    262 84
    264 1
    264 280
    264 53
    266 166
    266 177
    266 224
    266 26
    266 277
    268 256
    268 287
    268 45
    269 187
    269 225
    270 186
    270 230
    271 243
    271 260
    271 280
    271 96
    272 219
    272 86
    272 99
    273 269
    274 123
    275 118
    275 16
    275 207
    275 40
    275 68
    276 138
    276 142
    276 266
    277 143
    277 300
    278 107
    278 264
    279 163
    279 194
    279 266
    279 74
    280 175
    280 241
    282 186
    282 256
    283 24
    283 98
    284 114
    284 202
    284 279
    286 182
    287 144
    287 170
    287 282
    288 294
    290 101
    290 131
    290 230
    291 172
    294 128
    294 193
    294 290
    295 127
    295 60
    296 100
    296 200
    298 180
    298 299
    299 175
    299 290
    300 216
    ------- test 8 ----
    1024
    1 228
    1 238
    1 415
    1 473
    2 106
    2 112
    3 205
    3 378
    4 343
    4 411
    4 50
    5 366
    6 176
    7 464
    8 228
    9 69
    10 189
    11 59
    12 264
    12 278
    12 364
    12 409
    12 61
    12 69
    13 122
    13 467
    14 119
    14 197
    14 230
    14 69
    15 424
    15 438
    16 386
    18 291
    18 353
    18 46
    19 13
    19 150
    20 128
    20 155
    20 351
    20 412
    20 440
    20 479
    20 480
    21 310
    21 430
    21 58
    22 339
    23 86
    24 189
    24 223
    25 408
    26 102
    26 262
    27 168
    27 307
    27 405
    27 472
    28 288
    28 353
    28 424
    30 172
    30 264
    30 333
    31 331
    32 74
    33 284
    33 399
    34 196
    34 361
    34 4
    35 234
    35 34
    35 88
    36 152
    36 281
    37 101
    37 181
    37 279
    37 412
    38 34
    38 439
    40 149
    40 253
    40 271
    40 297
    40 349
    41 168
    41 265
    42 244
    42 356
    42 446
    43 115
    44 120
    44 128
    44 374
    44 497
    45 192
    45 473
    46 110
    46 255
    46 284
    46 452
    47 25
    47 419
    48 166
    48 398
    48 442
    48 495
    49 295
    49 409
    49 426
    50 24
    50 73
    51 126
    51 380
    51 413
    52 272
    52 449
    54 316
    56 306
    56 399
    56 416
    56 486
    56 493
    56 84
    58 136
    58 255
    58 411
    59 170
    59 72
    60 158
    60 49
    61 361
    61 95
    63 107
    63 168
    63 445
    63 494
    64 387
    64 51
    65 195
    66 210
    66 216
    66 242
    67 314
    69 108
    69 272
    69 5
    70 144
    70 28
    71 248
    71 99
    72 210
    72 435
    73 163
    73 2
    73 71
    74 12
    74 193
    74 236
    74 270
    74 96
    76 198
    76 232
    76 28
    77 253
    77 302
    81 12
    82 137
    82 243
    82 385
    82 436
    83 22
    83 223
    84 160
    84 199
    84 300
    84 344
    84 454
    84 56
    85 329
    85 478
    86 14
    86 359
    86 447
    87 303
    87 344
    87 368
    88 1
    88 161
    88 173
    88 275
    88 348
    88 418
    89 1
    89 242
    89 475
    89 477
    90 160
    91 87
    92 349
    94 404
    95 340
    96 37
    96 495
    97 302
    97 369
    97 461
    98 230
    99 108
    99 20
    99 360
    100 140
    100 335
    100 361
    101 196
    101 282
    101 384
    102 132
    103 146
    103 153
    103 396
    103 45
    104 398
    104 494
    105 9
    106 167
    106 211
    106 336
    106 439
    106 449
    107 333
    107 70
    108 158
    108 72
    108 74
    109 132
    109 267
    110 124
    110 237
    110 379
    110 96
    111 141
    111 343
    112 127
    112 138
    113 199
    114 341
    114 367
    115 258
    115 445
    116 13
    116 499
    117 43
    118 145
    118 154
    118 365
    119 126
    119 324
    119 348
    119 430
    119 89
    120 307
    122 117
    122 3
    123 126
    124 149
    124 172
    125 81
    126 109
    126 20
    126 398
    127 220
    127 306
    127 405
    127 458
    128 321
    128 35
    128 401
    129 3
    130 330
    130 51
    131 223
    131 373
    132 159
    132 266
    132 303
    132 388
    132 46
    133 346
    133 494
    135 104
    135 427
    136 352
    137 284
    137 471
    138 218
    138 83
    139 492
    140 12
    140 187
    140 228
    140 238
    141 4
    141 41
    141 89
    142 497
    143 71
    144 241
    144 383
    144 396
    144 397
    144 409
    144 87
    145 164
    145 284
    145 317
    145 458
    146 209
    146 218
    148 156
    148 175
    149 183
    149 199
    149 302
    149 375
    150 116
    151 231
    152 495
    153 227
    153 66
    154 352
    155 12
    155 127
    155 14
    156 454
    156 463
    156 483
    157 119
    158 100
    158 298
    158 60
    158 88
    159 190
    159 254
    159 322
    159 419
    160 302
    160 429
    161 375
    162 178
    163 304
    163 372
    164 139
    164 302
    166 475
    167 221
    167 293
    168 197
    168 218
    168 48
    168 85
    168 92
    169 346
    170 210
    170 88
    172 304
    172 452
    173 241
    174 18
    174 304
    174 444
    175 177
    175 20
    175 48
    176 320
    177 21
    177 63
    178 484
    178 489
    179 207
    180 88
    181 31
    181 416
    182 254
    182 377
    183 135
    185 276
    185 442
    186 290
    187 40
    188 145
    188 322
    188 354
    188 479
    189 369
    189 465
    190 188
    190 494
    192 333
    192 351
    192 402
    192 58
    193 137
    193 140
    193 155
    194 63
    195 401
    195 448
    196 119
    196 168
    196 82
    197 204
    197 241
    198 144
    198 73
    199 228
    199 377
    199 434
    199 44
    201 101
    201 481
    202 492
    203 425
    204 14
    204 86
    205 141
    205 255
    205 472
    206 303
    207 106
    207 158
    207 449
    208 159
    209 205
    210 227
    210 257
    210 272
    210 340
    210 463
    211 108
    211 109
    211 140
    211 389
    211 54
    213 19
    214 245
    214 61
    215 273
    215 40
    216 411
    218 14
    218 227
    218 23
    218 294
    218 412
    218 51
    219 18
    219 383
    220 471
    220 56
    221 148
    221 291
    221 488
    222 329
    223 106
    223 293
    223 32
    223 357
    223 77
    226 500
    226 65
    227 206
    227 242
    227 301
    228 103
    228 188
    228 242
    228 421
    229 389
    229 56
    230 110
    230 162
    230 377
    231 127
    232 289
    232 431
    232 448
    233 353
    233 42
    233 442
    233 451
    234 188
    234 20
    235 114
    236 192
    237 221
    238 274
    238 481
    239 181
    240 312
    240 484
    241 240
    241 360
    241 383
    241 412
    241 44
    242 15
    242 179
    242 387
    242 443
    242 459
    242 85
    243 233
    244 37
    245 396
    246 442
    247 2
    248 500
    251 111
    251 463
    252 138
    252 174
    252 83
    253 168
    253 432
    253 494
    254 251
    254 305
    254 409
    254 74
    255 149
    255 186
    255 297
    255 84
    257 222
    257 329
    257 414
    258 255
    258 345
    258 359
    258 410
    258 84
    259 276
    260 169
    261 226
    261 303
    261 46
    262 153
    263 406
    264 452
    264 463
    264 48
    265 440
    265 459
    266 118
    266 211
    267 453
    267 84
    268 144
    268 392
    270 404
    270 471
    271 100
    271 36
    272 210
    272 229
    272 389
    272 90
    273 411
    274 129
    274 174
    274 316
    275 100
    275 12
    276 201
    276 293
    278 232
    279 18
    279 399
    279 427
    281 449
    282 452
    284 382
    284 40
    284 445
    284 82
    285 239
    285 36
    286 372
    288 201
    289 286
    289 365
    290 205
    290 496
    291 35
    291 470
    293 141
    293 261
    293 331
    293 66
    294 185
    294 335
    295 127
    295 266
    295 44
    295 88
    296 218
    297 279
    297 47
    297 63
    298 241
    300 110
    300 30
    300 308
    300 332
    301 402
    302 155
    302 177
    302 261
    302 415
    302 97
    303 145
    303 174
    303 219
    303 332
    303 429
    304 223
    304 252
    304 33
    304 378
    305 397
    305 8
    305 84
    306 123
    306 26
    306 354
    306 52
    307 274
    307 352
    307 409
    308 16
    308 295
    309 119
    310 28
    310 329
    311 377
    312 438
    313 315
    313 89
    314 45
    315 193
    315 21
    315 367
    315 427
    315 498
    316 258
    316 373
    316 406
    317 221
    318 118
    318 412
    320 49
    321 332
    322 421
    322 476
    323 56
    324 279
    324 323
    326 20
    326 360
    327 50
    329 10
    329 104
    329 157
    329 285
    329 304
    329 313
    330 347
    331 116
    331 366
    332 210
    332 27
    332 473
    333 164
    333 24
    333 346
    335 265
    335 400
    336 295
    338 20
    339 358
    340 424
    340 458
    341 499
    343 252
    343 344
    344 380
    344 46
    344 6
    345 215
    346 211
    346 258
    346 99
    347 367
    347 38
    348 272
    348 374
    348 375
    349 461
    349 74
    349 88
    351 233
    351 410
    352 131
    352 258
    352 268
    353 131
    353 198
    353 37
    353 457
    354 122
    354 144
    354 91
    356 40
    356 60
    357 497
    358 33
    359 410
    359 7
    360 270
    360 30
    360 34
    361 156
    361 379
    361 414
    362 401
    363 89
    364 252
    364 487
    365 158
    365 447
    366 199
    366 306
    367 118
    367 178
    367 261
    368 125
    369 11
    369 151
    369 213
    369 274
    369 433
    369 447
    372 114
    372 130
    372 246
    372 476
    373 326
    373 425
    374 193
    374 229
    375 300
    375 315
    375 408
    377 192
    377 211
    377 27
    377 316
    378 247
    378 26
    379 185
    379 369
    380 369
    380 398
    380 41
    382 242
    382 271
    383 315
    383 380
    383 47
    383 82
    384 196
    385 140
    386 405
    387 285
    387 461
    388 97
    389 106
    389 113
    389 42
    389 447
    391 119
    391 94
    392 74
    393 447
    396 313
    396 362
    396 56
    397 309
    397 42
    398 111
    398 259
    398 30
    398 318
    398 456
    399 130
    399 20
    399 218
    400 115
    401 132
    401 163
    401 254
    401 349
    402 128
    402 21
    403 59
    404 144
    404 27
    404 305
    405 315
    405 413
    405 477
    406 440
    406 451
    408 148
    408 423
    408 450
    409 143
    409 204
    409 208
    409 426
    409 463
    409 485
    410 103
    410 453
    410 86
    411 195
    411 257
    411 300
    411 416
    411 449
    412 194
    412 207
    412 382
    412 393
    412 49
    412 84
    413 268
    413 308
    413 76
    414 411
    414 482
    415 403
    415 48
    415 66
    416 211
    416 264
    416 461
    417 356
    418 1
    418 146
    418 398
    419 12
    419 353
    420 289
    421 219
    421 327
    422 234
    423 4
    424 167
    424 338
    424 372
    424 446
    425 235
    425 445
    426 412
    426 429
    427 15
    427 258
    427 415
    429 159
    429 190
    429 35
    429 372
    430 315
    430 480
    430 82
    431 290
    432 215
    433 159
    433 435
    434 223
    435 267
    435 294
    436 391
    438 389
    438 76
    439 226
    439 300
    439 433
    440 135
    440 260
    440 363
    440 404
    442 354
    442 391
    442 418
    442 426
    443 182
    444 58
    445 263
    445 347
    445 424
    445 430
    446 101
    446 182
    447 132
    447 241
    447 324
    447 40
    447 456
    447 98
    448 142
    448 233
    448 483
    449 242
    449 297
    449 369
    449 409
    449 70
    450 207
    451 439
    451 456
    452 257
    452 293
    452 348
    452 364
    452 64
    453 306
    453 408
    453 63
    454 474
    454 99
    456 149
    456 251
    456 295
    457 453
    458 124
    458 220
    458 447
    459 1
    459 310
    461 132
    461 329
    461 37
    461 420
    463 175
    463 188
    463 203
    463 253
    463 77
    464 105
    465 369
    467 27
    470 296
    471 106
    471 156
    471 56
    472 413
    472 73
    473 180
    473 87
    473 97
    474 230
    474 452
    475 232
    475 448
    475 64
    476 303
    476 326
    477 214
    477 44
    478 110
    479 144
    479 498
    480 112
    480 202
    481 107
    481 307
    482 240
    483 19
    483 418
    484 275
    484 311
    485 192
    486 474
    487 305
    488 214
    489 170
    489 175
    492 38
    492 52
    493 254
    494 218
    494 318
    494 329
    494 417
    494 440
    495 133
    495 145
    495 67
    496 383
    497 103
    497 422
    497 475
    498 133
    498 401
    499 489
    499 76
    500 103
    500 233
    
    Keep up the good work!
    Thanks for your submission!
    View Code
    /***********************************************

    看书看原版,原汁原味。

    不会英文?没关系,硬着头皮看下去慢慢熟练,才会有真正收获。

    没有原书,也要网上找PDF来看。

    网上的原版资料多了去了,下载东西也到原始下载点去看看。

    你会知其所以然,呵呵。

    ***********************************************/

  • 相关阅读:
    异常处理
    弹出对话框
    ef——存储过程
    事务
    linq——常用方法
    Linq
    asp get与post获取的区别
    Web服务的调用
    AJAX控件——多层弹出Accordion
    数据绑定
  • 原文地址:https://www.cnblogs.com/dpblue/p/3971987.html
Copyright © 2020-2023  润新知