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

 

转载于:https://www.cnblogs.com/dpblue/p/3971987.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值