problemscpp
A collection of my answers to algorithm problems in c++.
pat_test.cpp
浏览该文件的文档.
1#include "pat.h"
2#include "gtest/gtest.h"
3
4using namespace std;
5
6namespace pat {
7 namespace b {
8 namespace b1001 {
9 TEST(b1001, case1) {
10 istringstream in("3");
11 auto out = ostringstream();
12 main(in, out);
13 const auto ans = out.str();
14 ASSERT_EQ("5", ans);
15 }
16 }// namespace b1001
17
18 namespace b1002 {
19 TEST(b1002, case1) {
20 istringstream in("1234567890987654321123456789");
21 auto out = ostringstream();
22 main(in, out);
23 const auto ans = out.str();
24 ASSERT_EQ("yi san wu", ans);
25 }
26 }// namespace b1002
27
28 namespace b1003 {
29 TEST(b1003, case1) {
30 istringstream in("10\n"
31 "PAT\n"
32 "PAAT\n"
33 "AAPATAA\n"
34 "AAPAATAAAA\n"
35 "xPATx\n"
36 "PT\n"
37 "Whatever\n"
38 "APAAATAA\n"
39 "APT\n"
40 "APATTAA");
41 auto out = ostringstream();
42 main(in, out);
43 const auto ans = out.str();
44 ASSERT_EQ("YES\n"
45 "YES\n"
46 "YES\n"
47 "YES\n"
48 "NO\n"
49 "NO\n"
50 "NO\n"
51 "NO\n"
52 "NO\n"
53 "NO\n",
54 ans);
55 }
56 }// namespace b1003
57
58 namespace b1004 {
59 TEST(b1004, case1) {
60 istringstream in("3\n"
61 "Joe Math990112 89\n"
62 "Mike CS991301 100\n"
63 "Mary EE990830 95");
64 auto out = ostringstream();
65 main(in, out);
66 const auto ans = out.str();
67 ASSERT_EQ("Mike CS991301\n"
68 "Joe Math990112",
69 ans);
70 }
71 }// namespace b1004
72
73 namespace b1005 {
74 TEST(b1005, case1) {
75 istringstream in("6\n"
76 "3 5 6 7 8 11");
77 auto out = ostringstream();
78 main(in, out);
79 const auto ans = out.str();
80 ASSERT_EQ("7 6", ans);
81 }
82 }// namespace b1005
83
84 namespace b1006 {
85 TEST(b1006, case1) {
86 istringstream in("234");
87 auto out = ostringstream();
88 main(in, out);
89 const auto ans = out.str();
90 ASSERT_EQ("BBSSS1234", ans);
91 }
92
93 TEST(b1006, case2) {
94 istringstream in("23");
95 auto out = ostringstream();
96 main(in, out);
97 const auto ans = out.str();
98 ASSERT_EQ("SS123", ans);
99 }
100 }// namespace b1006
101
102 namespace b1007 {
103 TEST(b1007, case1) {
104 istringstream in("20");
105 auto out = ostringstream();
106 main(in, out);
107 const auto ans = out.str();
108 ASSERT_EQ("4", ans);
109 }
110 }// namespace b1007
111
112 namespace b1008 {
113 TEST(b1008, case1) {
114 istringstream in("6 2\n"
115 "1 2 3 4 5 6");
116 auto out = ostringstream();
117 main(in, out);
118 const auto ans = out.str();
119 ASSERT_EQ("5 6 1 2 3 4", ans);
120 }
121 }// namespace b1008
122
123 namespace b1009 {
124 TEST(b1009, case1) {
125 istringstream in("Hello World Here I Come");
126 auto out = ostringstream();
127 main(in, out);
128 const auto ans = out.str();
129 ASSERT_EQ("Come I Here World Hello", ans);
130 }
131 }// namespace b1009
132
133 namespace b1010 {
134 TEST(b1010, case1) {
135 istringstream in("3 4 -5 2 6 1 -2 0");
136 auto out = ostringstream();
137 main(in, out);
138 const auto ans = out.str();
139 ASSERT_EQ("12 3 -10 1 6 0", ans);
140 }
141 }// namespace b1010
142
143 namespace b1011 {
144 TEST(b1011, case1) {
145 istringstream in("4\n"
146 "1 2 3\n"
147 "2 3 4\n"
148 "2147483647 0 2147483646\n"
149 "0 -2147483648 -2147483647");
150 auto out = ostringstream();
151 main(in, out);
152 const auto ans = out.str();
153 ASSERT_EQ("Case #1: false\n"
154 "Case #2: true\n"
155 "Case #3: true\n"
156 "Case #4: false\n",
157 ans);
158 }
159 }// namespace b1011
160
161 namespace b1012 {
162 TEST(b1012, case1) {
163 istringstream in("13 1 2 3 4 5 6 7 8 9 10 20 16 18");
164 auto out = ostringstream();
165 main(in, out);
166 const auto ans = out.str();
167 ASSERT_EQ("30 11 2 9.7 9", ans);
168 }
169
170 TEST(b1012, case2) {
171 istringstream in("8 1 2 4 5 6 7 9 16");
172 auto out = ostringstream();
173 main(in, out);
174 const auto ans = out.str();
175 ASSERT_EQ("N 11 2 N 9", ans);
176 }
177 }// namespace b1012
178
179 namespace b1013 {
180 TEST(b1013, case1) {
181 istringstream in("5 27");
182 auto out = ostringstream();
183 main(in, out);
184 const auto ans = out.str();
185 ASSERT_EQ("11 13 17 19 23 29 31 37 41 43\n"
186 "47 53 59 61 67 71 73 79 83 89\n"
187 "97 101 103",
188 ans);
189 }
190 }// namespace b1013
191
192 namespace b1014 {
193 TEST(b1014, case1) {
194 istringstream in("3485djDkxh4hhGE \n"
195 "2984akDfkkkkggEdsb \n"
196 "s&hgsfdk \n"
197 "d&Hyscvnm");
198 auto out = ostringstream();
199 main(in, out);
200 const auto ans = out.str();
201 ASSERT_EQ("THU 14:04", ans);
202 }
203 }// namespace b1014
204
205 namespace b1015 {
206 TEST(b1015, case1) {
207 istringstream in("14 60 80\n"
208 "10000001 64 90\n"
209 "10000002 90 60\n"
210 "10000011 85 80\n"
211 "10000003 85 80\n"
212 "10000004 80 85\n"
213 "10000005 82 77\n"
214 "10000006 83 76\n"
215 "10000007 90 78\n"
216 "10000008 75 79\n"
217 "10000009 59 90\n"
218 "10000010 88 45\n"
219 "10000012 80 100\n"
220 "10000013 90 99\n"
221 "10000014 66 60");
222 auto out = ostringstream();
223 main(in, out);
224 const auto ans = out.str();
225 ASSERT_EQ("12\n"
226 "10000013 90 99\n"
227 "10000012 80 100\n"
228 "10000003 85 80\n"
229 "10000011 85 80\n"
230 "10000004 80 85\n"
231 "10000007 90 78\n"
232 "10000006 83 76\n"
233 "10000005 82 77\n"
234 "10000002 90 60\n"
235 "10000014 66 60\n"
236 "10000008 75 79\n"
237 "10000001 64 90\n",
238 ans);
239 }
240 }// namespace b1015
241
242 namespace b1016 {
243 TEST(b1016, case1) {
244 istringstream in("3862767 6 13530293 3");
245 auto out = ostringstream();
246 main(in, out);
247 const auto ans = out.str();
248 ASSERT_EQ("399", ans);
249 }
250
251 TEST(b1016, case2) {
252 istringstream in("3862767 1 13530293 8");
253 auto out = ostringstream();
254 main(in, out);
255 const auto ans = out.str();
256 ASSERT_EQ("0", ans);
257 }
258 }// namespace b1016
259
260 namespace b1018 {
261 TEST(b1018, case1) {
262 istringstream in("10\n"
263 "C J\n"
264 "J B\n"
265 "C B\n"
266 "B B\n"
267 "B C\n"
268 "C C\n"
269 "C B\n"
270 "J B\n"
271 "B C\n"
272 "J J");
273 auto out = ostringstream();
274 main(in, out);
275 const auto ans = out.str();
276 ASSERT_EQ("5 3 2\n"
277 "2 3 5\n"
278 "B B",
279 ans);
280 }
281 }// namespace b1018
282
283 namespace b1019 {
284 TEST(b1019, case1) {
285 istringstream in("6767");
286 auto out = ostringstream();
287 main(in, out);
288 const auto ans = out.str();
289 ASSERT_EQ("7766 - 6677 = 1089\n9810 - 0189 = 9621\n9621 - 1269 = 8352\n8532 - 2358 = 6174\n", ans);
290 }
291
292 TEST(b1019, case2) {
293 istringstream in("2222");
294 auto out = ostringstream();
295 main(in, out);
296 const auto ans = out.str();
297 ASSERT_EQ("2222 - 2222 = 0000\n", out.str());
298 }
299 }// namespace b1019
300
301 namespace b1020 {
302 TEST(b1020, case1) {
303 istringstream in("3 20\n18 15 10\n75 72 45\n");
304 auto out = ostringstream();
305 main(in, out);
306 const auto ans = out.str();
307 ASSERT_EQ("94.50", out.str());
308 }
309 }// namespace b1020
310
311 namespace b1021 {
312 TEST(b1021, case1) {
313 istringstream in("100311");
314 auto out = ostringstream();
315 main(in, out);
316 const auto ans = out.str();
317 ASSERT_EQ("0:2\n"
318 "1:3\n"
319 "3:1\n",
320 out.str());
321 }
322 }// namespace b1021
323
324 namespace b1022 {
325 TEST(b1022, case1) {
326 istringstream in("123 456 8");
327 auto out = ostringstream();
328 main(in, out);
329 const auto ans = out.str();
330 ASSERT_EQ("1103", out.str());
331 }
332
333 TEST(b1022, case2) {
334 istringstream in("20 30 10");
335 auto out = ostringstream();
336 main(in, out);
337 const auto ans = out.str();
338 ASSERT_EQ("50", out.str());
339 }
340 }// namespace b1022
341
342 namespace b1023 {
343 TEST(b1023, case1) {
344 istringstream in("2 2 0 0 0 3 0 0 1 0");
345 auto out = ostringstream();
346 main(in, out);
347 const auto ans = out.str();
348 ASSERT_EQ("10015558", out.str());
349 }
350 }// namespace b1023
351
352 namespace b1024 {
353 TEST(b1024, case1) {
354 istringstream in("+1.23400E-03");
355 auto out = ostringstream();
356 main(in, out);
357 const auto ans = out.str();
358 ASSERT_EQ("0.00123400", out.str());
359 }
360
361 TEST(b1024, case2) {
362 istringstream in("-1.2E+10");
363 auto out = ostringstream();
364 main(in, out);
365 const auto ans = out.str();
366 ASSERT_EQ("-12000000000", out.str());
367 }
368 }// namespace b1024
369
370 namespace b1025 {
371 TEST(b1025, case1) {
372 istringstream in("00100 6 4\n"
373 "00000 4 99999\n"
374 "00100 1 12309\n"
375 "68237 6 -1\n"
376 "33218 3 00000\n"
377 "99999 5 68237\n"
378 "12309 2 33218");
379 auto out = ostringstream();
380 main(in, out);
381 const auto ans = out.str();
382 ASSERT_EQ("00000 4 33218\n"
383 "33218 3 12309\n"
384 "12309 2 00100\n"
385 "00100 1 99999\n"
386 "99999 5 68237\n"
387 "68237 6 -1\n",
388 out.str());
389 }
390 }// namespace b1025
391
392 namespace b1026 {
393 TEST(b1026, case1) {
394 istringstream in("123 4577973");
395 auto out = ostringstream();
396 main(in, out);
397 const auto ans = out.str();
398 ASSERT_EQ("12:42:59", out.str());
399 }
400 }// namespace b1026
401
402 namespace b1027 {
403 TEST(b1027, case1) {
404 istringstream in("19 *");
405 auto out = ostringstream();
406 main(in, out);
407 const auto ans = out.str();
408 ASSERT_EQ("*****\n ***\n *\n ***\n*****\n2", out.str());
409 }
410 }// namespace b1027
411
412 namespace b1028 {
413 TEST(b1028, case1) {
414 istringstream in("5\nJohn 2001/05/12\nTom 1814/09/06\nAnn 2121/01/30\nJames 1814/09/05\nSteve 1967/11/20");
415 auto out = ostringstream();
416 main(in, out);
417 const auto ans = out.str();
418 ASSERT_EQ("3 Tom John", out.str());
419 }
420 }// namespace b1028
421
422 namespace b1029 {
423 TEST(b1029, case1) {
424 istringstream in("7_This_is_a_test\n"
425 "_hs_s_a_es");
426 auto out = ostringstream();
427 main(in, out);
428 const auto ans = out.str();
429 ASSERT_EQ("7TI", out.str());
430 }
431 }// namespace b1029
432
433 namespace b1030 {
434 TEST(b1030, case1) {
435 istringstream in("10 8\n"
436 "2 3 20 4 5 1 6 7 8 9");
437 auto out = ostringstream();
438 main(in, out);
439 const auto ans = out.str();
440 ASSERT_EQ("8", out.str());
441 }
442 }// namespace b1030
443
444 namespace b1031 {
445 TEST(b1032, case1) {
446 istringstream in("4\n"
447 "320124198808240056\n"
448 "12010X198901011234\n"
449 "110108196711301866\n"
450 "37070419881216001X");
451 auto out = ostringstream();
452 main(in, out);
453 const auto ans = out.str();
454 ASSERT_EQ("12010X198901011234\n"
455 "110108196711301866\n"
456 "37070419881216001X\n",
457 out.str());
458 }
459
460 TEST(b1032, case2) {
461 istringstream in("2\n"
462 "320124198808240056\n"
463 "110108196711301862");
464 auto out = ostringstream();
465 main(in, out);
466 const auto ans = out.str();
467 ASSERT_EQ("All passed",
468 out.str());
469 }
470 }// namespace b1031
471
472 namespace b1032 {
473 TEST(b1032, case1) {
474 istringstream in("6\n"
475 "3 65\n"
476 "2 80\n"
477 "1 100\n"
478 "2 70\n"
479 "3 40\n"
480 "3 0");
481 auto out = ostringstream();
482 main(in, out);
483 const auto ans = out.str();
484 ASSERT_EQ("2 150", out.str());
485 }
486 }// namespace b1032
487
488 namespace b1033 {
489 TEST(b1033, case1) {
490 istringstream in("7+IE.\n"
491 "7_This_is_a_test.");
492 auto out = ostringstream();
493 main(in, out);
494 const auto ans = out.str();
495 ASSERT_EQ("_hs_s_a_tst", out.str());
496 }
497 }// namespace b1033
498
499 namespace b1034 {
500 TEST(b1034, case1) {
501 istringstream in("2/3 -4/2");
502 auto out = ostringstream();
503 main(in, out);
504 const auto ans = out.str();
505 ASSERT_EQ("2/3 + (-2) = (-1 1/3)\n"
506 "2/3 - (-2) = 2 2/3\n"
507 "2/3 * (-2) = (-1 1/3)\n"
508 "2/3 / (-2) = (-1/3)",
509 out.str());
510 }
511
512 TEST(b1034, case2) {
513 istringstream in("5/3 0/6");
514 auto out = ostringstream();
515 main(in, out);
516 const auto ans = out.str();
517 ASSERT_EQ("1 2/3 + 0 = 1 2/3\n"
518 "1 2/3 - 0 = 1 2/3\n"
519 "1 2/3 * 0 = 0\n"
520 "1 2/3 / 0 = Inf",
521 out.str());
522 }
523 }// namespace b1034
524
525 namespace b1035 {
526 TEST(b1035, case1) {
527 istringstream in("10\n"
528 "3 1 2 8 7 5 9 4 6 0\n"
529 "1 2 3 7 8 5 9 4 6 0");
530 auto out = ostringstream();
531 main(in, out);
532 const auto ans = out.str();
533 ASSERT_EQ("Insertion Sort\n"
534 "1 2 3 5 7 8 9 4 6 0",
535 out.str());
536 }
537
538 TEST(b1035, case2) {
539 istringstream in("10\n"
540 "3 1 2 8 7 5 9 4 0 6\n"
541 "1 3 2 8 5 7 4 9 0 6");
542 auto out = ostringstream();
543 main(in, out);
544 const auto ans = out.str();
545 ASSERT_EQ("Merge Sort\n"
546 "1 2 3 8 4 5 7 9 0 6",
547 out.str());
548 }
549 }// namespace b1035
550
551 namespace b1036 {
552 TEST(b1036, case1) {
553 istringstream in("10 a");
554 auto out = ostringstream();
555 main(in, out);
556 const auto ans = out.str();
557 ASSERT_EQ("aaaaaaaaaa\n"
558 "a a\n"
559 "a a\n"
560 "a a\n"
561 "aaaaaaaaaa",
562 out.str());
563 }
564 }// namespace b1036
565
566 namespace b1037 {
567 TEST(b1037, case1) {
568 istringstream in("10.16.27 14.1.28");
569 auto out = ostringstream();
570 main(in, out);
571 const auto ans = out.str();
572 ASSERT_EQ("3.2.1", out.str());
573 }
574
575 TEST(b1037, case2) {
576 istringstream in("14.1.28 10.16.27");
577 auto out = ostringstream();
578 main(in, out);
579 const auto ans = out.str();
580 ASSERT_EQ("-3.2.1", out.str());
581 }
582 }// namespace b1037
583
584 namespace b1038 {
585 TEST(b1038, case2) {
586 istringstream in("10\n"
587 "60 75 90 55 75 99 82 90 75 50\n"
588 "3 75 90 88");
589 auto out = ostringstream();
590 main(in, out);
591 const auto ans = out.str();
592 ASSERT_EQ("3 2 0", out.str());
593 }
594 }// namespace b1038
595
596 namespace b1039 {
597 TEST(b1039, case1) {
598 istringstream in("ppRYYGrrYBR2258\n"
599 "YrR8RrY");
600 auto out = ostringstream();
601 main(in, out);
602 const auto ans = out.str();
603 ASSERT_EQ("Yes 8", out.str());
604 }
605
606 TEST(b1039, case2) {
607 istringstream in("ppRYYGrrYB225\n"
608 "YrR8RrY");
609 auto out = ostringstream();
610 main(in, out);
611 const auto ans = out.str();
612 ASSERT_EQ("No 2", out.str());
613 }
614 }// namespace b1039
615
616 namespace b1040 {
617 TEST(b1040, case1) {
618 istringstream in("APPAPT");
619 auto out = ostringstream();
620 main(in, out);
621 const auto ans = out.str();
622 ASSERT_EQ("2", out.str());
623 }
624 }// namespace b1040
625
626 namespace b1041 {
627 TEST(b1041, case1) {
628 istringstream in("4\n"
629 "3310120150912233 2 4\n"
630 "3310120150912119 4 1\n"
631 "3310120150912126 1 3\n"
632 "3310120150912002 3 2\n"
633 "2\n"
634 "3 4");
635 auto out = ostringstream();
636 main(in, out);
637 const auto ans = out.str();
638 ASSERT_EQ("3310120150912002 2\n"
639 "3310120150912119 1\n",
640 out.str());
641 }
642 }// namespace b1041
643
644 namespace b1042 {
645 TEST(b1042, case1) {
646 istringstream in("This is a simple TEST. There ARE numbers and other symbols 1&2&3...........");
647 auto out = ostringstream();
648 main(in, out);
649 const auto ans = out.str();
650 ASSERT_EQ("e 7", out.str());
651 }
652 }// namespace b1042
653
654 namespace b1043 {
655 TEST(b1043, case1) {
656 istringstream in("redlesPayBestPATTopTeePHPereatitAPPT");
657 auto out = ostringstream();
658 main(in, out);
659 const auto ans = out.str();
660 ASSERT_EQ("PATestPATestPTetPTePePee", out.str());
661 }
662 }// namespace b1043
663
664 namespace b1044 {
665 TEST(b1044, case1) {
666 istringstream in("4\n"
667 "29\n"
668 "5\n"
669 "elo nov\n"
670 "tam");
671 auto out = ostringstream();
672 main(in, out);
673 const auto ans = out.str();
674 ASSERT_EQ("hel mar\n"
675 "may\n"
676 "115\n"
677 "13",
678 out.str());
679 }
680
681 TEST(b1044, case2) {
682 istringstream in("1\n"
683 "tret tret\n");
684 auto out = ostringstream();
685 main(in, out);
686 const auto ans = out.str();
687 ASSERT_EQ("0", out.str());
688 }
689
690 TEST(b1044, case3) {
691 istringstream in("1\n"
692 "0\n");
693 auto out = ostringstream();
694 main(in, out);
695 const auto ans = out.str();
696 ASSERT_EQ("tret", out.str());
697 }
698 }// namespace b1044
699
700 namespace b1045 {
701 TEST(b1045, case1) {
702 istringstream in("5\n"
703 "1 3 2 4 5");
704 auto out = ostringstream();
705 main(in, out);
706 const auto ans = out.str();
707 ASSERT_EQ("3\n"
708 "1 4 5\n",
709 out.str());
710 }
711 }// namespace b1045
712
713 namespace b1046 {
714 TEST(b1046, case1) {
715 istringstream in("5\n"
716 "8 10 9 12\n"
717 "5 10 5 10\n"
718 "3 8 5 12\n"
719 "12 18 1 13\n"
720 "4 16 12 15");
721 auto out = ostringstream();
722 main(in, out);
723 const auto ans = out.str();
724 ASSERT_EQ("1 2", out.str());
725 }
726 }// namespace b1046
727
728 namespace b1047 {
729 TEST(b1047, case1) {
730 istringstream in("6\n"
731 "3-10 99\n"
732 "11-5 87\n"
733 "102-1 0\n"
734 "102-3 100\n"
735 "11-9 89\n"
736 "3-2 61");
737 auto out = ostringstream();
738 main(in, out);
739 const auto ans = out.str();
740 ASSERT_EQ("11 176", out.str());
741 }
742 }// namespace b1047
743
744 namespace b1048 {
745 TEST(b1048, case1) {
746 istringstream in("1234567 368782971");
747 auto out = ostringstream();
748 main(in, out);
749 const auto ans = out.str();
750 ASSERT_EQ("3695Q8118", out.str());
751 }
752 }// namespace b1048
753
754 namespace b1049 {
755 TEST(b1049, case1) {
756 istringstream in("4\n0.1 0.2 0.3 0.4\n");
757 auto out = ostringstream();
758 main(in, out);
759 const auto ans = out.str();
760 ASSERT_EQ("5.00", out.str());
761 }
762 }// namespace b1049
763
764 namespace b1050 {
765 TEST(b1050, case1) {
766 istringstream in("12\n37 76 20 98 76 42 53 95 60 81 58 93\n");
767 auto out = ostringstream();
768 main(in, out);
769 const auto ans = out.str();
770 ASSERT_EQ("98 95 93\n42 37 81\n53 20 76\n58 60 76", out.str());
771 }
772 }// namespace b1050
773
774 namespace b1051 {
775 TEST(b1051, case1) {
776 istringstream in("2.3 3.5 5.2 0.4");
777 auto out = ostringstream();
778 main(in, out);
779 const auto ans = out.str();
780 ASSERT_EQ("-8.68-8.23i", out.str());
781 }
782 }// namespace b1051
783
784 namespace b1052 {
785 TEST(b1052, case1) {
786 istringstream in("[�r][�q][o][~\\][/~] [<][>]\n [�s][�t][^][-][=][>][<][@][��]\n[��][��][_][��][^] ...\n4\n1 1 2 2 2\n6 8 1 5 5\n3 3 4 3 3\n2 10 3 9 3\n");
787 auto out = ostringstream();
788 main(in, out);
789 const auto ans = out.str();
790 ASSERT_EQ("�r(�s���t)�q\n<(@��=)/~\no(^��^)o\nAre you kidding me? @\\/@\n", out.str());
791 }
792 }// namespace b1052
793
794 namespace b1053 {
795 TEST(b1053, case1) {
796 istringstream in("5 0.5 10\n"
797 "6 0.3 0.4 0.5 0.2 0.8 0.6\n"
798 "10 0.0 0.1 0.2 0.3 0.0 0.8 0.6 0.7 0.0 0.5\n"
799 "5 0.4 0.3 0.5 0.1 0.7\n"
800 "11 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1\n"
801 "11 2 2 2 1 1 0.1 1 0.1 0.1 0.1 0.1");
802 auto out = ostringstream();
803 main(in, out);
804 const auto ans = out.str();
805 ASSERT_EQ("40.0% 20.0%", out.str());
806 }
807 }// namespace b1053
808
809 namespace b1054 {
810 TEST(b1054, case1) {
811 istringstream in("7\n"
812 "5 -3.2 aaa 9999 2.3.4 7.123 2.35");
813 auto out = ostringstream();
814 main(in, out);
815 const auto ans = out.str();
816 ASSERT_EQ("ERROR: aaa is not a legal number\n"
817 "ERROR: 9999 is not a legal number\n"
818 "ERROR: 2.3.4 is not a legal number\n"
819 "ERROR: 7.123 is not a legal number\n"
820 "The average of 3 numbers is 1.38\n",
821 out.str());
822 }
823
824 TEST(b1054, case2) {
825 istringstream in("2\n"
826 "aaa -9999");
827 auto out = ostringstream();
828 main(in, out);
829 const auto ans = out.str();
830 ASSERT_EQ("ERROR: aaa is not a legal number\n"
831 "ERROR: -9999 is not a legal number\n"
832 "The average of 0 numbers is Undefined\n",
833 out.str());
834 }
835 }// namespace b1054
836
837 namespace b1055 {
838 TEST(b1055, case1) {
839 istringstream in("10 3\n"
840 "Tom 188\n"
841 "Mike 170\n"
842 "Eva 168\n"
843 "Tim 160\n"
844 "Joe 190\n"
845 "Ann 168\n"
846 "Bob 175\n"
847 "Nick 186\n"
848 "Amy 160\n"
849 "John 159");
850 auto out = ostringstream();
851 main(in, out);
852 const auto ans = out.str();
853 ASSERT_EQ("Bob Tom Joe Nick\n"
854 "Ann Mike Eva\n"
855 "Tim Amy John",
856 out.str());
857 }
858 }// namespace b1055
859
860 namespace b1056 {
861 TEST(b1056, case1) {
862 istringstream in("3 2 8 5");
863 auto out = ostringstream();
864 main(in, out);
865 const auto ans = out.str();
866 ASSERT_EQ("330", out.str());
867 }
868 }// namespace b1056
869
870 namespace b1057 {
871 TEST(b1057, case1) {
872 istringstream in("PAT (Basic)");
873 auto out = ostringstream();
874 main(in, out);
875 const auto ans = out.str();
876 ASSERT_EQ("3 4", out.str());
877 }
878 }// namespace b1057
879
880 namespace b1058 {
881 TEST(b1058, case1) {
882 istringstream in("3 4 \n"
883 "3 4 2 a c\n"
884 "2 5 1 b\n"
885 "5 3 2 b c\n"
886 "1 5 4 a b d e\n"
887 "(2 a c) (2 b d) (2 a c) (3 a b e)\n"
888 "(2 a c) (1 b) (2 a b) (4 a b d e)\n"
889 "(2 b d) (1 e) (2 b c) (4 a b c d)");
890 auto out = ostringstream();
891 main(in, out);
892 const auto ans = out.str();
893 ASSERT_EQ("3\n"
894 "6\n"
895 "5\n"
896 "2 2 3 4",
897 out.str());
898 }
899 }// namespace b1058
900
901 namespace b1059 {
902 TEST(b1059, case1) {
903 istringstream in("6\n"
904 "1111\n"
905 "6666\n"
906 "8888\n"
907 "1234\n"
908 "5555\n"
909 "0001\n"
910 "6\n"
911 "8888\n"
912 "0001\n"
913 "1111\n"
914 "2222\n"
915 "8888\n"
916 "2222");
917 auto out = ostringstream();
918 main(in, out);
919 const auto ans = out.str();
920 ASSERT_EQ("8888: Minion\n"
921 "0001: Chocolate\n"
922 "1111: Mystery Award\n"
923 "2222: Are you kidding?\n"
924 "8888: Checked\n"
925 "2222: Are you kidding?\n",
926 out.str());
927 }
928 }// namespace b1059
929
930 namespace b1060 {
931 TEST(b1060, case1) {
932 istringstream in("10\n"
933 "6 7 6 9 3 10 8 2 7 8");
934 auto out = ostringstream();
935 main(in, out);
936 const auto ans = out.str();
937 ASSERT_EQ("6", out.str());
938 }
939 }// namespace b1060
940
941 namespace b1061 {
942 TEST(b1061, case1) {
943 istringstream in("3 6\n"
944 "2 1 3 3 4 5\n"
945 "0 0 1 0 1 1\n"
946 "0 1 1 0 0 1\n"
947 "1 0 1 0 1 0\n"
948 "1 1 0 0 1 1");
949 auto out = ostringstream();
950 main(in, out);
951 const auto ans = out.str();
952 ASSERT_EQ("13\n"
953 "11\n"
954 "12\n",
955 out.str());
956 }
957 }// namespace b1061
958
959 namespace b1062 {
960 TEST(b1062, case1) {
961 istringstream in("7/18 13/20 12");
962 auto out = ostringstream();
963 main(in, out);
964 const auto ans = out.str();
965 ASSERT_EQ("5/12 7/12", out.str());
966 }
967
968 TEST(b1062, case2) {
969 istringstream in("26/5 7/20 13");
970 auto out = ostringstream();
971 main(in, out);
972 const auto ans = out.str();
973 ASSERT_EQ("5/13 6/13 7/13 8/13 9/13 10/13 11/13 12/13 14/13 15/13 16/13 17/13 18/13 19/13 20/13 21/13 22/13 23/13 24/13 25/13 27/13 28/13 29/13 30/13 31/13 32/13 33/13 34/13 35/13 36/13 37/13 38/13 40/13 41/13 42/13 43/13 44/13 45/13 46/13 47/13 48/13 49/13 50/13 51/13 53/13 54/13 55/13 56/13 57/13 58/13 59/13 60/13 61/13 62/13 63/13 64/13 66/13 67/13", out.str());
974 }
975 }// namespace b1062
976
977 namespace b1063 {
978 TEST(b1063, case1) {
979 istringstream in("5\n"
980 "0 1\n"
981 "2 0\n"
982 "-1 0\n"
983 "3 3\n"
984 "0 -3");
985 auto out = ostringstream();
986 main(in, out);
987 const auto ans = out.str();
988 ASSERT_EQ("4.24", out.str());
989 }
990 }// namespace b1063
991
992 namespace b1064 {
993 TEST(b1064, case1) {
994 istringstream in("8\n"
995 "123 899 51 998 27 33 36 12");
996 auto out = ostringstream();
997 main(in, out);
998 const auto ans = out.str();
999 ASSERT_EQ("4\n"
1000 "3 6 9 26",
1001 out.str());
1002 }
1003 }// namespace b1064
1004
1005 namespace b1066 {
1006 TEST(b1066, case1) {
1007 istringstream in("3 5 100 150 0\n"
1008 "3 189 254 101 119\n"
1009 "150 233 151 99 100\n"
1010 "88 123 149 0 255");
1011 auto out = ostringstream();
1012 main(in, out);
1013 const auto ans = out.str();
1014 ASSERT_EQ("003 189 254 000 000\n"
1015 "000 233 151 099 000\n"
1016 "088 000 000 000 255",
1017 out.str());
1018 }
1019 }// namespace b1066
1020
1021 namespace b1067 {
1022 TEST(b1067, case1) {
1023 istringstream in("Correct%pw 3\n"
1024 "correct%pw\n"
1025 "Correct@PW\n"
1026 "whatisthepassword!\n"
1027 "Correct%pw\n"
1028 "#");
1029 auto out = ostringstream();
1030 main(in, out);
1031 const auto ans = out.str();
1032 ASSERT_EQ("Wrong password: correct%pw\n"
1033 "Wrong password: Correct@PW\n"
1034 "Wrong password: whatisthepassword!\n"
1035 "Account locked",
1036 out.str());
1037 }
1038
1039 TEST(b1067, case2) {
1040 istringstream in("cool@gplt 3\n"
1041 "coolman@gplt\n"
1042 "coollady@gplt\n"
1043 "cool@gplt\n"
1044 "try again\n"
1045 "#");
1046 auto out = ostringstream();
1047 main(in, out);
1048 const auto ans = out.str();
1049 ASSERT_EQ("Wrong password: coolman@gplt\n"
1050 "Wrong password: coollady@gplt\n"
1051 "Welcome in",
1052 out.str());
1053 }
1054 }// namespace b1067
1055
1056 namespace b1068 {
1057 TEST(b1068, case1) {
1058 istringstream in("8 6 200\n"
1059 "0 \t 0 \t 0 \t 0\t 0 \t 0 \t 0 0\n"
1060 "65280 \t 65280 65280 16711479 65280 65280 65280 65280\n"
1061 "16711479 65280 65280 65280 16711680 65280 65280 65280\n"
1062 "65280 \t 65280 65280 65280 65280 65280 165280 165280\n"
1063 "65280 \t 65280 \t 16777015 65280 65280 165280 65480 165280\n"
1064 "16777215 16777215 16777215 16777215 16777215 16777215 16777215 16777215");
1065 auto out = ostringstream();
1066 main(in, out);
1067 const auto ans = out.str();
1068 ASSERT_EQ("(5, 3): 16711680", out.str());
1069 }
1070
1071 TEST(b1068, case2) {
1072 istringstream in("4 5 2\n"
1073 "0 0 0 0\n"
1074 "0 0 3 0\n"
1075 "0 0 0 0\n"
1076 "0 5 0 0\n"
1077 "0 0 0 0");
1078 auto out = ostringstream();
1079 main(in, out);
1080 const auto ans = out.str();
1081 ASSERT_EQ("Not Unique", out.str());
1082 }
1083
1084 TEST(b1068, case3) {
1085 istringstream in("3 3 5\n"
1086 "1 2 3\n"
1087 "3 4 5\n"
1088 "5 6 7");
1089 auto out = ostringstream();
1090 main(in, out);
1091 const auto ans = out.str();
1092 ASSERT_EQ("Not Exist", out.str());
1093 }
1094 }// namespace b1068
1095
1096 namespace b1069 {
1097 TEST(b1069, case1) {
1098 istringstream in("9 3 2\n"
1099 "Imgonnawin!\n"
1100 "PickMe\n"
1101 "PickMe\n"
1102 "LookHere\n"
1103 "Imgonnawin!\n"
1104 "TryAgainAgain\n"
1105 "TryAgainAgain\n"
1106 "Imgonnawin!\n"
1107 "TryAgainAgain");
1108 auto out = ostringstream();
1109 main(in, out);
1110 const auto ans = out.str();
1111 ASSERT_EQ("PickMe\n"
1112 "Imgonnawin!\n"
1113 "TryAgainAgain\n",
1114 out.str());
1115 }
1116
1117 TEST(b1069, case2) {
1118 istringstream in("2 3 5\n"
1119 "Imgonnawin!\n"
1120 "PickMe\n");
1121 auto out = ostringstream();
1122 main(in, out);
1123 const auto ans = out.str();
1124 ASSERT_EQ("Keep going...", out.str());
1125 }
1126 }// namespace b1069
1127
1128 namespace b1070 {
1129 TEST(b1070, case1) {
1130 istringstream in("8\n"
1131 "10 15 12 3 4 13 1 15");
1132 auto out = ostringstream();
1133 main(in, out);
1134 const auto ans = out.str();
1135 ASSERT_EQ("14", out.str());
1136 }
1137 }// namespace b1070
1138
1139 namespace b1071 {
1140 TEST(b1071, case1) {
1141 istringstream in("100 4\n"
1142 "8 0 100 2\n"
1143 "3 1 50 1\n"
1144 "5 1 200 6\n"
1145 "7 0 200 8");
1146 auto out = ostringstream();
1147 main(in, out);
1148 const auto ans = out.str();
1149 ASSERT_EQ("Win 100! Total = 200.\n"
1150 "Lose 50. Total = 150.\n"
1151 "Not enough tokens. Total = 150.\n"
1152 "Not enough tokens. Total = 150.\n",
1153 out.str());
1154 }
1155
1156 TEST(b1071, case2) {
1157 istringstream in("100 4\n"
1158 "8 0 100 2\n"
1159 "3 1 200 1\n"
1160 "5 1 200 6\n"
1161 "7 0 200 8");
1162 auto out = ostringstream();
1163 main(in, out);
1164 const auto ans = out.str();
1165 ASSERT_EQ("Win 100! Total = 200.\n"
1166 "Lose 200. Total = 0.\n"
1167 "Game Over.",
1168 out.str());
1169 }
1170 }// namespace b1071
1171
1172 namespace b1072 {
1173 TEST(b1071, case1) {
1174 istringstream in("4 2\n"
1175 "2333 6666\n"
1176 "CYLL 3 1234 2345 3456\n"
1177 "U 4 9966 6666 8888 6666\n"
1178 "GG 2 2333 7777\n"
1179 "JJ 3 0012 6666 2333");
1180 auto out = ostringstream();
1181 main(in, out);
1182 const auto ans = out.str();
1183 ASSERT_EQ("U: 6666 6666\n"
1184 "GG: 2333\n"
1185 "JJ: 6666 2333\n"
1186 "3 5",
1187 out.str());
1188 }
1189 }// namespace b1072
1190
1191 namespace b1073 {
1192 TEST(b1073, case1) {
1193 istringstream in("3 4 \n"
1194 "3 4 2 a c\n"
1195 "2 5 1 b\n"
1196 "5 3 2 b c\n"
1197 "1 5 4 a b d e\n"
1198 "(2 a c) (3 b d e) (2 a c) (3 a b e)\n"
1199 "(2 a c) (1 b) (2 a b) (4 a b d e)\n"
1200 "(2 b d) (1 e) (1 c) (4 a b c d)");
1201 auto out = ostringstream();
1202 main(in, out);
1203 const auto ans = out.str();
1204 ASSERT_EQ("3.5\n"
1205 "6.0\n"
1206 "2.5\n"
1207 "2 2-e\n"
1208 "2 3-a\n"
1209 "2 3-b\n",
1210 out.str());
1211 }
1212
1213 TEST(b1073, case2) {
1214 istringstream in("2 2 \n"
1215 "3 4 2 a c\n"
1216 "2 5 1 b\n"
1217 "(2 a c) (1 b)\n"
1218 "(2 a c) (1 b)");
1219 auto out = ostringstream();
1220 main(in, out);
1221 const auto ans = out.str();
1222 ASSERT_EQ("5.0\n"
1223 "5.0\n"
1224 "Too simple",
1225 out.str());
1226 }
1227 }// namespace b1073
1228
1229 namespace b1074 {
1230 TEST(b1074, case1) {
1231 istringstream in("30527\n"
1232 "06203\n"
1233 "415");
1234 auto out = ostringstream();
1235 main(in, out);
1236 const auto ans = out.str();
1237 ASSERT_EQ("7201", out.str());
1238 }
1239 }// namespace b1074
1240
1241 namespace b1075 {
1242 TEST(b1075, case1) {
1243 istringstream in("00100 9 10\n"
1244 "23333 10 27777\n"
1245 "00000 0 99999\n"
1246 "00100 18 12309\n"
1247 "68237 -6 23333\n"
1248 "33218 -4 00000\n"
1249 "48652 -2 -1\n"
1250 "99999 5 68237\n"
1251 "27777 11 48652\n"
1252 "12309 7 33218");
1253 auto out = ostringstream();
1254 main(in, out);
1255 const auto ans = out.str();
1256 ASSERT_EQ("33218 -4 68237\n"
1257 "68237 -6 48652\n"
1258 "48652 -2 12309\n"
1259 "12309 7 00000\n"
1260 "00000 0 99999\n"
1261 "99999 5 23333\n"
1262 "23333 10 00100\n"
1263 "00100 18 27777\n"
1264 "27777 11 -1\n",
1265 out.str());
1266 }
1267 }// namespace b1075
1268
1269 namespace b1076 {
1270 TEST(b1076, case1) {
1271 istringstream in("8\n"
1272 "A-T B-F C-F D-F\n"
1273 "C-T B-F A-F D-F\n"
1274 "A-F D-F C-F B-T\n"
1275 "B-T A-F C-F D-F\n"
1276 "B-F D-T A-F C-F\n"
1277 "A-T C-F B-F D-F\n"
1278 "D-T B-F C-F A-F\n"
1279 "C-T A-F B-F D-F");
1280 auto out = ostringstream();
1281 main(in, out);
1282 const auto ans = out.str();
1283 ASSERT_EQ("13224143", out.str());
1284 }
1285 }// namespace b1076
1286
1287 namespace b1078 {
1288 TEST(b1078, case1) {
1289 istringstream in("C\n"
1290 "TTTTThhiiiis isssss a tesssst CAaaa as");
1291 auto out = ostringstream();
1292 main(in, out);
1293 const auto ans = out.str();
1294 ASSERT_EQ("5T2h4is i5s a3 te4st CA3a as", out.str());
1295 }
1296
1297 TEST(b1078, case2) {
1298 istringstream in("D\n"
1299 "5T2h4is i5s a3 te4st CA3a as10Z");
1300 auto out = ostringstream();
1301 main(in, out);
1302 const auto ans = out.str();
1303 ASSERT_EQ("TTTTThhiiiis isssss a tesssst CAaaa asZZZZZZZZZZ", out.str());
1304 }
1305 }// namespace b1078
1306
1307 namespace b1077 {
1308 TEST(b1077, case1) {
1309 istringstream in("6 50\n"
1310 "42 49 49 35 38 41\n"
1311 "36 51 50 28 -1 30\n"
1312 "40 36 41 33 47 49\n"
1313 "30 250 -25 27 45 31\n"
1314 "48 0 0 50 50 1234\n"
1315 "43 41 36 29 42 29");
1316 auto out = ostringstream();
1317 main(in, out);
1318 const auto ans = out.str();
1319 ASSERT_EQ("42\n"
1320 "33\n"
1321 "41\n"
1322 "31\n"
1323 "37\n"
1324 "39\n",
1325 out.str());
1326 }
1327 }// namespace b1077
1328
1329 namespace b1079 {
1330 TEST(b1079, case1) {
1331 istringstream in("97152");
1332 auto out = ostringstream();
1333 main(in, out);
1334 const auto ans = out.str();
1335 ASSERT_EQ("97152 + 25179 = 122331\n"
1336 "122331 + 133221 = 255552\n"
1337 "255552 is a palindromic number.",
1338 out.str());
1339 }
1340
1341 TEST(b1079, case2) {
1342 istringstream in("196");
1343 auto out = ostringstream();
1344 main(in, out);
1345 const auto ans = out.str();
1346 ASSERT_EQ("196 + 691 = 887\n"
1347 "887 + 788 = 1675\n"
1348 "1675 + 5761 = 7436\n"
1349 "7436 + 6347 = 13783\n"
1350 "13783 + 38731 = 52514\n"
1351 "52514 + 41525 = 94039\n"
1352 "94039 + 93049 = 187088\n"
1353 "187088 + 880781 = 1067869\n"
1354 "1067869 + 9687601 = 10755470\n"
1355 "10755470 + 07455701 = 18211171\n"
1356 "Not found in 10 iterations.",
1357 out.str());
1358 }
1359
1361 ASSERT_TRUE(is_palindromic("12321"));
1362 }
1363
1365 ASSERT_TRUE(is_palindromic("123321"));
1366 }
1367
1369 ASSERT_FALSE(is_palindromic("1233210"));
1370 }
1371
1373 ASSERT_FALSE(is_palindromic("123421"));
1374 }
1375 }// namespace b1079
1376
1377 namespace b1080 {
1378 TEST(b1080, case1) {
1379 istringstream in("6 6 7\n"
1380 "01234 880\n"
1381 "a1903 199\n"
1382 "ydjh2 200\n"
1383 "wehu8 300\n"
1384 "dx86w 220\n"
1385 "missing 400\n"
1386 "ydhfu77 99\n"
1387 "wehu8 55\n"
1388 "ydjh2 98\n"
1389 "dx86w 88\n"
1390 "a1903 86\n"
1391 "01234 39\n"
1392 "ydhfu77 88\n"
1393 "a1903 66\n"
1394 "01234 58\n"
1395 "wehu8 84\n"
1396 "ydjh2 82\n"
1397 "missing 99\n"
1398 "dx86w 81");
1399 auto out = ostringstream();
1400 main(in, out);
1401 const auto ans = out.str();
1402 ASSERT_EQ("missing 400 -1 99 99\n"
1403 "ydjh2 200 98 82 88\n"
1404 "dx86w 220 88 81 84\n"
1405 "wehu8 300 55 84 84\n",
1406 out.str());
1407 }
1408 }// namespace b1080
1409
1410 namespace b1081 {
1411 TEST(b1081, case1) {
1412 istringstream in("5\n"
1413 "123s\n"
1414 "zheshi.wodepw\n"
1415 "1234.5678\n"
1416 "WanMei23333\n"
1417 "pass*word.6");
1418 auto out = ostringstream();
1419 main(in, out);
1420 const auto ans = out.str();
1421 ASSERT_EQ("Your password is tai duan le.\n"
1422 "Your password needs shu zi.\n"
1423 "Your password needs zi mu.\n"
1424 "Your password is wan mei.\n"
1425 "Your password is tai luan le.\n",
1426 out.str());
1427 }
1428 }// namespace b1081
1429
1430 namespace b1082 {
1431 TEST(b1082, case1) {
1432 istringstream in("3\n"
1433 "0001 5 7\n"
1434 "1020 -1 3\n"
1435 "0233 0 -1");
1436 auto out = ostringstream();
1437 main(in, out);
1438 const auto ans = out.str();
1439 ASSERT_EQ("0233 0001", out.str());
1440 }
1441 }// namespace b1082
1442
1443 namespace b1083 {
1444 TEST(b1083, case1) {
1445 istringstream in("8\n"
1446 "3 5 8 6 2 1 4 7");
1447 auto out = ostringstream();
1448 main(in, out);
1449 const auto ans = out.str();
1450 ASSERT_EQ("5 2\n"
1451 "3 3\n"
1452 "2 2\n",
1453 out.str());
1454 }
1455 }// namespace b1083
1456
1457 namespace b1084 {
1458 TEST(b1084, case1) {
1459 istringstream in("1 8");
1460 auto out = ostringstream();
1461 main(in, out);
1462 const auto ans = out.str();
1463 ASSERT_EQ("1123123111", out.str());
1464 }
1465 }// namespace b1084
1466
1467 namespace b1085 {
1468 TEST(b1085, case1) {
1469 istringstream in("10\n"
1470 "A57908 85 Au\n"
1471 "B57908 54 LanX\n"
1472 "A37487 60 au\n"
1473 "T28374 67 CMU\n"
1474 "T32486 24 hypu\n"
1475 "A66734 92 cmu\n"
1476 "B76378 71 AU\n"
1477 "A47780 45 lanx\n"
1478 "A72809 100 pku\n"
1479 "A03274 45 hypu");
1480 auto out = ostringstream();
1481 main(in, out);
1482 const auto ans = out.str();
1483 ASSERT_EQ("5\n"
1484 "1 cmu 192 2\n"
1485 "1 au 192 3\n"
1486 "3 pku 100 1\n"
1487 "4 hypu 81 2\n"
1488 "4 lanx 81 2\n",
1489 out.str());
1490 }
1491 }// namespace b1085
1492
1493 namespace b1086 {
1494 TEST(b1086, case1) {
1495 istringstream in("5 7");
1496 auto out = ostringstream();
1497 main(in, out);
1498 const auto ans = out.str();
1499 ASSERT_EQ("53", out.str());
1500 }
1501 }// namespace b1086
1502
1503 namespace b1087 {
1504 TEST(b1087, case1) {
1505 istringstream in("2017");
1506 auto out = ostringstream();
1507 main(in, out);
1508 const auto ans = out.str();
1509 ASSERT_EQ("1480", out.str());
1510 }
1511 }// namespace b1087
1512
1513 namespace b1088 {
1514 TEST(b1088, case1) {
1515 istringstream in("48 3 7");
1516 auto out = ostringstream();
1517 main(in, out);
1518 const auto ans = out.str();
1519 ASSERT_EQ("48 Ping Cong Gai", out.str());
1520 }
1521
1522 TEST(b1088, case2) {
1523 istringstream in("48 11 6");
1524 auto out = ostringstream();
1525 main(in, out);
1526 const auto ans = out.str();
1527 ASSERT_EQ("No Solution", out.str());
1528 }
1529 }// namespace b1088
1530
1531 namespace b1089 {
1532 TEST(b1089, case1) {
1533 istringstream in("5\n"
1534 "-2\n"
1535 "+3\n"
1536 "-4\n"
1537 "+5\n"
1538 "+4");
1539 auto out = ostringstream();
1540 main(in, out);
1541 const auto ans = out.str();
1542 ASSERT_EQ("1 4", out.str());
1543 }
1544
1545 TEST(b1089, case2) {
1546 istringstream in("6\n"
1547 "+6\n"
1548 "+3\n"
1549 "+1\n"
1550 "-5\n"
1551 "-2\n"
1552 "+4");
1553 auto out = ostringstream();
1554 main(in, out);
1555 const auto ans = out.str();
1556 ASSERT_EQ("1 5", out.str());
1557 }
1558
1559 TEST(b1089, case3) {
1560 istringstream in("5\n"
1561 "-2\n"
1562 "-3\n"
1563 "-4\n"
1564 "-5\n"
1565 "-1");
1566 auto out = ostringstream();
1567 main(in, out);
1568 const auto ans = out.str();
1569 ASSERT_EQ("No Solution", out.str());
1570 }
1571 }// namespace b1089
1572
1573 namespace b1090 {
1574 TEST(b1089, case1) {
1575 istringstream in("6 3\n"
1576 "20001 20002\n"
1577 "20003 20004\n"
1578 "20005 20006\n"
1579 "20003 20001\n"
1580 "20005 20004\n"
1581 "20004 20006\n"
1582 "4 00001 20004 00002 20003\n"
1583 "5 98823 20002 20003 20006 10010\n"
1584 "3 12345 67890 23333");
1585 auto out = ostringstream();
1586 main(in, out);
1587 const auto ans = out.str();
1588 ASSERT_EQ("No\n"
1589 "Yes\n"
1590 "Yes\n",
1591 out.str());
1592 }
1593 }// namespace b1090
1594
1595 namespace b1091 {
1596 TEST(b1091, case3) {
1597 istringstream in("3\n"
1598 "92 5 233");
1599 auto out = ostringstream();
1600 main(in, out);
1601 const auto ans = out.str();
1602 ASSERT_EQ("3 25392\n"
1603 "1 25\n"
1604 "No\n",
1605 out.str());
1606 }
1607 }// namespace b1091
1608
1609 namespace b1092 {
1610 TEST(b1092, case1) {
1611 istringstream in("5 3\n"
1612 "1001 992 0 233 6\n"
1613 "8 0 2018 0 2008\n"
1614 "36 18 0 1024 4");
1615 auto out = ostringstream();
1616 main(in, out);
1617 const auto ans = out.str();
1618 ASSERT_EQ("2018\n"
1619 "3 5",
1620 out.str());
1621 }
1622 }// namespace b1092
1623
1624 namespace b1094 {
1625 TEST(b1094, case1) {
1626 istringstream in("20 5\n"
1627 "23654987725541023819");
1628 auto out = ostringstream();
1629 main(in, out);
1630 const auto ans = out.str();
1631 ASSERT_EQ("49877", out.str());
1632 }
1633
1634 TEST(b1094, case2) {
1635 istringstream in("10 3\n"
1636 "2468001680");
1637 auto out = ostringstream();
1638 main(in, out);
1639 const auto ans = out.str();
1640 ASSERT_EQ("404", out.str());
1641 }
1642 }// namespace b1094
1643
1644 namespace b1095 {
1645 TEST(b1095, case1) {
1646 istringstream in("8 4\n"
1647 "B123180908127 99\n"
1648 "B102180908003 86\n"
1649 "A112180318002 98\n"
1650 "T107150310127 62\n"
1651 "A107180908108 100\n"
1652 "T123180908010 78\n"
1653 "B112160918035 88\n"
1654 "A107180908021 98\n"
1655 "1 A\n"
1656 "2 107\n"
1657 "3 180908\n"
1658 "2 999");
1659 auto out = ostringstream();
1660 main(in, out);
1661 const auto ans = out.str();
1662 ASSERT_EQ("Case 1: 1 A\n"
1663 "A107180908108 100\n"
1664 "A107180908021 98\n"
1665 "A112180318002 98\n"
1666 "Case 2: 2 107\n"
1667 "3 260\n"
1668 "Case 3: 3 180908\n"
1669 "107 2\n"
1670 "123 2\n"
1671 "102 1\n"
1672 "Case 4: 2 999\n"
1673 "NA\n",
1674 out.str());
1675 }
1676 }// namespace b1095
1677
1678 namespace b1096 {
1679 TEST(b1096, case1) {
1680 istringstream in("3\n"
1681 "18 29 40");
1682 auto out = ostringstream();
1683 main(in, out);
1684 const auto ans = out.str();
1685 ASSERT_EQ("Yes\n"
1686 "No\n"
1687 "Yes\n",
1688 out.str());
1689 }
1690 }// namespace b1096
1691
1692 namespace b1097 {
1693 TEST(b1097, case1) {
1694 istringstream in("7 2 99\n"
1695 "11 87 23 67 20 75 89\n"
1696 "37 94 27 91 63 50 11\n"
1697 "44 38 50 26 40 26 24\n"
1698 "73 85 63 28 62 18 68\n"
1699 "15 83 27 97 88 25 43\n"
1700 "23 78 98 20 30 81 99\n"
1701 "77 36 48 59 25 34 22");
1702 auto out = ostringstream();
1703 main(in, out);
1704 const auto ans = out.str();
1705 ASSERT_EQ("529 481 479 263 417 342 343", out.str());
1706 }
1707 }// namespace b1097
1708
1709 namespace b1098 {
1710 TEST(b1098, case1) {
1711 istringstream in("11\n"
1712 "7 6 5 5 6 5 4 5 5 4 4\n"
1713 "3 2 2 2 2 3 3 2 1 2 3");
1714 auto out = ostringstream();
1715 main(in, out);
1716 const auto ans = out.str();
1717 ASSERT_EQ("Yes 1", out.str());
1718 }
1719
1720 TEST(b1098, case2) {
1721 istringstream in("11\n"
1722 "7 6 5 5 6 5 4 5 5 4 4\n"
1723 "3 2 2 2 3 4 3 2 1 2 3");
1724 auto out = ostringstream();
1725 main(in, out);
1726 const auto ans = out.str();
1727 ASSERT_EQ("No 1", out.str());
1728 }
1729 }// namespace b1098
1730
1731 namespace b1099 {
1732 TEST(b1099, case1) {
1733 istringstream in("47");
1734 auto out = ostringstream();
1735 main(in, out);
1736 const auto ans = out.str();
1737 ASSERT_EQ("Yes\n"
1738 "41",
1739 out.str());
1740 }
1741
1742 TEST(b1099, case2) {
1743 istringstream in("21");
1744 auto out = ostringstream();
1745 main(in, out);
1746 const auto ans = out.str();
1747 ASSERT_EQ("No\n"
1748 "23",
1749 out.str());
1750 }
1751 }// namespace b1099
1752
1753 namespace b1100 {
1754 TEST(b1100, case1) {
1755 istringstream in("5\n"
1756 "372928196906118710\n"
1757 "610481197806202213\n"
1758 "440684198612150417\n"
1759 "13072819571002001X\n"
1760 "150702193604190912\n"
1761 "6\n"
1762 "530125197901260019\n"
1763 "150702193604190912\n"
1764 "220221196701020034\n"
1765 "610481197806202213\n"
1766 "440684198612150417\n"
1767 "370205198709275042");
1768 auto out = ostringstream();
1769 main(in, out);
1770 const auto ans = out.str();
1771 ASSERT_EQ("3\n"
1772 "150702193604190912",
1773 out.str());
1774 }
1775 }// namespace b1100
1776
1777 namespace b1101 {
1778 TEST(b1101, case1) {
1779 istringstream in("12345 2");
1780 auto out = ostringstream();
1781 main(in, out);
1782 const auto ans = out.str();
1783 ASSERT_EQ("3.66", out.str());
1784 }
1785
1786 TEST(b1101, case2) {
1787 istringstream in("12345 5");
1788 auto out = ostringstream();
1789 main(in, out);
1790 const auto ans = out.str();
1791 ASSERT_EQ("1.00", out.str());
1792 }
1793 }// namespace b1101
1794
1795 namespace b1102 {
1796 TEST(b1102, case1) {
1797 istringstream in("4\n"
1798 "zju007 39 10\n"
1799 "pku2019 9 332\n"
1800 "pat2018 95 79\n"
1801 "qdu106 19 38");
1802 auto out = ostringstream();
1803 main(in, out);
1804 const auto ans = out.str();
1805 ASSERT_EQ("pku2019 332\n"
1806 "pat2018 7505",
1807 out.str());
1808 }
1809 }// namespace b1102
1810
1811 namespace b1103 {
1812 TEST(b1103, case1) {
1813 istringstream in("8 200");
1814 auto out = ostringstream();
1815 main(in, out);
1816 const auto ans = out.str();
1817 ASSERT_EQ("8 3\n"
1818 "105 10\n",
1819 out.str());
1820 }
1821
1822 TEST(b1103, case2) {
1823 istringstream in("9 100");
1824 auto out = ostringstream();
1825 main(in, out);
1826 const auto ans = out.str();
1827 ASSERT_EQ("No Solution", out.str());
1828 }
1829 }// namespace b1103
1830
1831 namespace b1104 {
1832 TEST(b1104, case1) {
1833 istringstream in("2\n"
1834 "6 45\n"
1835 "7 80");
1836 auto out = ostringstream();
1837 main(in, out);
1838 const auto ans = out.str();
1839 ASSERT_EQ("Case 1\n"
1840 "10 189999\n"
1841 "10 279999\n"
1842 "10 369999\n"
1843 "10 459999\n"
1844 "10 549999\n"
1845 "10 639999\n"
1846 "10 729999\n"
1847 "10 819999\n"
1848 "10 909999\n"
1849 "Case 2\n"
1850 "No Solution\n",
1851 out.str());
1852 }
1853 }// namespace b1104
1854
1855 namespace b1105 {
1856 TEST(b1105, case1) {
1857 istringstream in("00100 01000 7\n"
1858 "02233 2 34891\n"
1859 "00100 6 00001\n"
1860 "34891 3 10086\n"
1861 "01000 1 02233\n"
1862 "00033 5 -1\n"
1863 "10086 4 00033\n"
1864 "00001 7 -1");
1865 auto out = ostringstream();
1866 main(in, out);
1867 const auto ans = out.str();
1868 ASSERT_EQ("01000 1 02233\n"
1869 "02233 2 00001\n"
1870 "00001 7 34891\n"
1871 "34891 3 10086\n"
1872 "10086 4 00100\n"
1873 "00100 6 00033\n"
1874 "00033 5 -1\n",
1875 out.str());
1876 }
1877 }// namespace b1105
1878
1879 namespace b1106 {
1880 TEST(b1106, case1) {
1881 istringstream in("10");
1882 auto out = ostringstream();
1883 main(in, out);
1884 const auto ans = out.str();
1885 ASSERT_EQ("2019224758", out.str());
1886 }
1887 }// namespace b1106
1888
1889 namespace b1107 {
1890 TEST(b1107, case1) {
1891 istringstream in("3 5\n"
1892 "62 53 88 72 81\n"
1893 "12 31 9 0 2\n"
1894 "91 42 39 6 48");
1895 auto out = ostringstream();
1896 main(in, out);
1897 const auto ans = out.str();
1898 ASSERT_EQ("88 31 91\n"
1899 "91",
1900 out.str());
1901 }
1902 }// namespace b1107
1903
1904 namespace b1108 {
1905 TEST(b1108, case1) {
1906 istringstream in("sTRidlinSayBingStrropriiSHSiRiagIgtSSr");
1907 auto out = ostringstream();
1908 main(in, out);
1909 const auto ans = out.str();
1910 ASSERT_EQ("StringStringSrigSriSiSii", out.str());
1911 }
1912 }// namespace b1108
1913
1914 namespace b1109 {
1915 TEST(b1109, case1) {
1916 istringstream in("..C..\n.C.C.\nC...C\nCCCCC\nC...C\nC...C\nC...C\nCCCC.\nC...C\nC...C\nCCCC.\nC...C\nC...C\nCCCC.\n.CCC.\nC...C\nC....\nC....\nC....\nC...C\n.CCC.\nCCCC.\nC...C\nC...C\nC...C\nC...C\nC...C\nCCCC.\nCCCCC\nC....\nC....\nCCCC.\nC....\nC....\nCCCCC\nCCCCC\nC....\nC....\nCCCC.\nC....\nC....\nC....\nCCCC.\nC...C\nC....\nC.CCC\nC...C\nC...C\nCCCC.\nC...C\nC...C\nC...C\nCCCCC\nC...C\nC...C\nC...C\nCCCCC\n..C..\n..C..\n..C..\n..C..\n..C..\nCCCCC\nCCCCC\n....C\n....C\n....C\n....C\nC...C\n.CCC.\nC...C\nC..C.\nC.C..\nCC...\nC.C..\nC..C.\nC...C\nC....\nC....\nC....\nC....\nC....\nC....\nCCCCC\nC...C\nC...C\nCC.CC\nC.C.C\nC...C\nC...C\nC...C\nC...C\nC...C\nCC..C\nC.C.C\nC..CC\nC...C\nC...C\n.CCC.\nC...C\nC...C\nC...C\nC...C\nC...C\n.CCC.\nCCCC.\nC...C\nC...C\nCCCC.\nC....\nC....\nC....\n.CCC.\nC...C\nC...C\nC...C\nC.C.C\nC..CC\n.CCC.\nCCCC.\nC...C\nCCCC.\nCC...\nC.C..\nC..C.\nC...C\n.CCC.\nC...C\nC....\n.CCC.\n....C\nC...C\n.CCC.\nCCCCC\n..C..\n..C..\n..C..\n..C..\n..C..\n..C..\nC...C\nC...C\nC...C\nC...C\nC...C\nC...C\n.CCC.\nC...C\nC...C\nC...C\nC...C\nC...C\n.C.C.\n..C..\nC...C\nC...C\nC...C\nC.C.C\nCC.CC\nC...C\nC...C\nC...C\nC...C\n.C.C.\n..C..\n.C.C.\nC...C\nC...C\nC...C\nC...C\n.C.C.\n..C..\n..C..\n..C..\n..C..\nCCCCC\n....C\n...C.\n..C..\n.C...\nC....\nCCCCC\nHELLO~WORLD!");
1917 auto out = ostringstream();
1918 main(in, out);
1919 const auto ans = out.str();
1920 ASSERT_EQ("C...C CCCCC C.... C.... .CCC.\n"
1921 "C...C C.... C.... C.... C...C\n"
1922 "C...C C.... C.... C.... C...C\n"
1923 "CCCCC CCCC. C.... C.... C...C\n"
1924 "C...C C.... C.... C.... C...C\n"
1925 "C...C C.... C.... C.... C...C\n"
1926 "C...C CCCCC CCCCC CCCCC .CCC.\n"
1927 "\n"
1928 "C...C .CCC. CCCC. C.... CCCC.\n"
1929 "C...C C...C C...C C.... C...C\n"
1930 "C...C C...C CCCC. C.... C...C\n"
1931 "C.C.C C...C CC... C.... C...C\n"
1932 "CC.CC C...C C.C.. C.... C...C\n"
1933 "C...C C...C C..C. C.... C...C\n"
1934 "C...C .CCC. C...C CCCCC CCCC.",
1935 out.str());
1936 }
1937 }// namespace b1109
1938
1939 namespace b1110 {
1940 TEST(b1110, case1) {
1941 istringstream in("00100 8 3\n"
1942 "71120 7 88666\n"
1943 "00000 4 99999\n"
1944 "00100 1 12309\n"
1945 "68237 6 71120\n"
1946 "33218 3 00000\n"
1947 "99999 5 68237\n"
1948 "88666 8 -1\n"
1949 "12309 2 33218");
1950 auto out = ostringstream();
1951 main(in, out);
1952 const auto ans = out.str();
1953 ASSERT_EQ("71120 7 88666\n"
1954 "88666 8 00000\n"
1955 "00000 4 99999\n"
1956 "99999 5 68237\n"
1957 "68237 6 00100\n"
1958 "00100 1 12309\n"
1959 "12309 2 33218\n"
1960 "33218 3 -1\n",
1961 out.str());
1962 }
1963 }// namespace b1110
1964 }// namespace b
1965
1966 namespace a {
1967 namespace a1003 {
1968 TEST(a1003, case1) {
1969 istringstream in("5 6 0 2\n"
1970 "1 2 1 5 3\n"
1971 "0 1 1\n"
1972 "0 2 2\n"
1973 "0 3 1\n"
1974 "1 2 1\n"
1975 "2 4 1\n"
1976 "3 4 1");
1977 auto out = ostringstream();
1978 main(in, out);
1979 ASSERT_EQ("2 4", out.str());
1980 }
1981 }// namespace a1003
1982
1983 namespace a1004 {
1984 TEST(a1004, case1) {
1985 istringstream in("2 1\n"
1986 "01 1 02");
1987 auto out = ostringstream();
1988 main(in, out);
1989 ASSERT_EQ("0 1", out.str());
1990 }
1991 }// namespace a1004
1992
1993 namespace a1005 {
1994 TEST(a1005, case1) {
1995 istringstream in("12345");
1996 auto out = ostringstream();
1997 main(in, out);
1998 ASSERT_EQ("one five", out.str());
1999 }
2000 }// namespace a1005
2001
2002 namespace a1006 {
2003 TEST(a1006, case1) {
2004 istringstream in("3\n"
2005 "CS301111 15:30:28 17:00:10\n"
2006 "SC3021234 08:00:00 11:25:25\n"
2007 "CS301133 21:45:00 21:58:40");
2008 auto out = ostringstream();
2009 main(in, out);
2010 ASSERT_EQ("SC3021234 CS301133", out.str());
2011 }
2012 }// namespace a1006
2013
2014 namespace a1007 {
2015 TEST(a1007, case1) {
2016 istringstream in("10\n"
2017 "-10 1 2 3 4 -5 -23 3 7 -21");
2018 auto out = ostringstream();
2019 main(in, out);
2020 ASSERT_EQ("10 1 4", out.str());
2021 }
2022 }// namespace a1007
2023
2024 namespace a1008 {
2025 TEST(a1008, case1) {
2026 istringstream in("3 2 3 1");
2027 auto out = ostringstream();
2028 main(in, out);
2029 ASSERT_EQ("41", out.str());
2030 }
2031 }// namespace a1008
2032
2033 namespace a1009 {
2034 TEST(a1009, case1) {
2035 istringstream in("2 1 2.4 0 3.2\n"
2036 "2 2 1.5 1 0.5");
2037 auto out = ostringstream();
2038 main(in, out);
2039 ASSERT_EQ("3 3 3.6 2 6.0 1 1.6", out.str());
2040 }
2041 }// namespace a1009
2042
2043 namespace a1013 {
2044 TEST(a1013, case1) {
2045 istringstream in("3 2 3\n"
2046 "1 2\n"
2047 "1 3\n"
2048 "1 2 3");
2049 auto out = ostringstream();
2050 main(in, out);
2051 ASSERT_EQ("1\n"
2052 "0\n"
2053 "0\n",
2054 out.str());
2055 }
2056 }// namespace a1013
2057
2058 namespace a1014 {
2059 TEST(a1014, case1) {
2060 istringstream in("2 2 7 5\n"
2061 "1 2 6 4 3 534 2\n"
2062 "3 4 5 6 7");
2063 auto out = ostringstream();
2064 main(in, out);
2065 ASSERT_EQ("08:07\n"
2066 "08:06\n"
2067 "08:10\n"
2068 "17:00\n"
2069 "Sorry\n",
2070 out.str());
2071 }
2072 }// namespace a1014
2073
2074 namespace a1015 {
2075 TEST(a1015, case1) {
2076 istringstream in("73 10\n"
2077 "23 2\n"
2078 "23 10\n"
2079 "-2");
2080 auto out = ostringstream();
2081 main(in, out);
2082 ASSERT_EQ("Yes\n"
2083 "Yes\n"
2084 "No\n",
2085 out.str());
2086 }
2087 }// namespace a1015
2088 namespace a1016 {
2089 TEST(a1016, case1) {
2090 istringstream in("10 10 10 10 10 10 20 20 20 15 15 15 15 15 15 15 20 30 20 15 15 10 10 10\n10\nCYLL 01:01:06:01 on-line\nCYLL 01:28:16:05 off-line\nCYJJ 01:01:07:00 off-line\nCYLL 01:01:08:03 off-line\nCYJJ 01:01:05:59 on-line\naaa 01:01:01:03 on-line\naaa 01:02:00:01 on-line\nCYLL 01:28:15:41 on-line\naaa 01:05:02:24 on-line\naaa 01:04:23:59 off-line\n");
2091 auto out = ostringstream();
2092 main(in, out);
2093 ASSERT_EQ("CYJJ 01\n01:05:59 01:07:00 61 $12.10\nTotal amount: $12.10\nCYLL 01\n01:06:01 01:08:03 122 $24.40\n28:15:41 28:16:05 24 $3.85\nTotal amount: $28.25\naaa 01\n02:00:01 04:23:59 4318 $638.80\nTotal amount: $638.80\n", out.str());
2094 }
2095 }// namespace a1016
2096
2097 namespace a1017 {
2098 TEST(a1017, case1) {
2099 istringstream in("7 3\n07:55:00 16\n17:00:01 2\n07:59:59 15\n08:01:00 60\n08:00:00 30\n08:00:02 2\n08:03:00 10");
2100 auto out = ostringstream();
2101 main(in, out);
2102 ASSERT_EQ("8.2", out.str());
2103 }
2104
2105 TEST(a1017, case2) {
2106 istringstream in("2 1\n16:30:00 100\n16:40:00 10");
2107 auto out = ostringstream();
2108 main(in, out);
2109 ASSERT_EQ("25.0", out.str());
2110 }
2111 }// namespace a1017
2112
2113
2114 namespace a1026 {
2115 TEST(a1026, case1) {
2116 istringstream in("9\n20:52:00 10 0\n08:00:00 20 0\n08:02:00 30 0\n20:51:00 10 0\n08:10:00 5 0\n08:12:00 10 1\n20:50:00 10 0\n08:01:30 15 1\n20:53:00 10 1\n3 1\n2");
2117 auto out = ostringstream();
2118 main(in, out);
2119 ASSERT_EQ("08:00:00 08:00:00 0\n08:01:30 08:01:30 0\n08:02:00 08:02:00 0\n08:12:00 08:16:30 5\n08:10:00 08:20:00 10\n20:50:00 20:50:00 0\n20:51:00 20:51:00 0\n20:52:00 20:52:00 0\n3 3 2", out.str());
2120 }
2121 }// namespace a1026
2122
2123 namespace a1018 {
2124 TEST(a1018, case1) {
2125 istringstream in("10 3 3 5\n"
2126 "6 7 0\n"
2127 "0 1 1\n"
2128 "0 2 1\n"
2129 "0 3 3\n"
2130 "1 3 1\n"
2131 "2 3 1");
2132 auto out = ostringstream();
2133 main(in, out);
2134 ASSERT_EQ("3 0->2->3 0", out.str());
2135 }
2136
2137 TEST(a1018, case2) {
2138 istringstream in("10 5 5 7\n"
2139 "4 8 4 9 10\n"
2140 "0 1 1\n"
2141 "0 3 1\n"
2142 "0 5 4\n"
2143 "1 2 1\n"
2144 "3 4 1\n"
2145 "2 5 1\n"
2146 "4 5 1");
2147 auto out = ostringstream();
2148 main(in, out);
2149 ASSERT_EQ("1 0->1->2->5 8", out.str());
2150 }
2151
2152 TEST(a1018, case3) {
2153 istringstream in("10 7 7 8\n"
2154 "2 9 3 5 9 1 0\n"
2155 "0 1 1\n"
2156 "1 2 1\n"
2157 "0 3 1\n"
2158 "3 4 1\n"
2159 "2 5 1\n"
2160 "4 5 1\n"
2161 "5 6 1\n"
2162 "6 7 1");
2163 auto out = ostringstream();
2164 main(in, out);
2165 ASSERT_EQ("4 0->1->2->5->6->7 0", out.str());
2166 }
2167 }// namespace a1018
2168
2169 namespace a1019 {
2170 TEST(a1019, case1) {
2171 istringstream in("27 2");
2172 auto out = ostringstream();
2173 main(in, out);
2174 ASSERT_EQ("Yes\n"
2175 "1 1 0 1 1",
2176 out.str());
2177 }
2178
2179 TEST(a1019, case2) {
2180 istringstream in("121 5");
2181 auto out = ostringstream();
2182 main(in, out);
2183 ASSERT_EQ("No\n"
2184 "4 4 1",
2185 out.str());
2186 }
2187
2188 TEST(a1019, case3) {
2189 istringstream in("123212312 987654321");
2190 auto out = ostringstream();
2191 main(in, out);
2192 ASSERT_EQ("Yes\n"
2193 "123212312",
2194 out.str());
2195 }
2196 }// namespace a1019
2197
2198 namespace a1020 {
2199 TEST(a1020, case1) {
2200 istringstream in("7\n"
2201 "2 3 1 5 7 6 4\n"
2202 "1 2 3 4 5 6 7");
2203 auto out = ostringstream();
2204 main(in, out);
2205 ASSERT_EQ("4 1 6 3 5 7 2", out.str());
2206 }
2207 }// namespace a1020
2208
2209 namespace a1023 {
2210 TEST(a1023, case1) {
2211 istringstream in("1234567899");
2212 auto out = ostringstream();
2213 main(in, out);
2214 ASSERT_EQ("Yes\n"
2215 "2469135798",
2216 out.str());
2217 }
2218 }// namespace a1023
2219
2220 namespace a1024 {
2221 TEST(a1024, case1) {
2222 istringstream in("67 3");
2223 auto out = ostringstream();
2224 main(in, out);
2225 ASSERT_EQ("484\n"
2226 "2",
2227 out.str());
2228 }
2229
2230 TEST(a1024, case2) {
2231 istringstream in("69 3");
2232 auto out = ostringstream();
2233 main(in, out);
2234 ASSERT_EQ("1353\n"
2235 "3",
2236 out.str());
2237 }
2238
2239 TEST(a1024, case3) {
2240 istringstream in("7237160004 37");
2241 auto out = ostringstream();
2242 main(in, out);
2243 ASSERT_EQ("93682709897533470989727738\n"
2244 "37",
2245 out.str());
2246 }
2247 }// namespace a1024
2248
2249 namespace a1027 {
2250 TEST(a1027, case1) {
2251 istringstream in("15 43 71");
2252 auto out = ostringstream();
2253 main(in, out);
2254 ASSERT_EQ("#123456", out.str());
2255 }
2256 }// namespace a1027
2257
2258 namespace a1021 {
2259 TEST(a1021, case1) {
2260 istringstream in("5\n"
2261 "1 2\n"
2262 "1 3\n"
2263 "1 4\n"
2264 "2 5");
2265 auto out = ostringstream();
2266 main(in, out);
2267 ASSERT_EQ("3\n"
2268 "4\n"
2269 "5\n",
2270 out.str());
2271 }
2272
2273 TEST(a1021, case2) {
2274 istringstream in("5\n"
2275 "1 3\n"
2276 "1 4\n"
2277 "2 5\n"
2278 "3 4");
2279 auto out = ostringstream();
2280 main(in, out);
2281 ASSERT_EQ("Error: 2 components", out.str());
2282 }
2283
2284 TEST(a1021, case3) {
2285 istringstream in("10\n"
2286 "1 2\n"
2287 "1 3\n"
2288 "3 4\n"
2289 "1 5\n"
2290 "5 6\n"
2291 "5 7\n"
2292 "2 8\n"
2293 "7 9\n"
2294 "6 10");
2295 auto out = ostringstream();
2296 main(in, out);
2297 ASSERT_EQ("4\n"
2298 "8\n"
2299 "9\n"
2300 "10\n",
2301 out.str());
2302 }
2303 }// namespace a1021
2304
2305 namespace a7_1 {
2306 TEST(a7_1, case1) {
2307 istringstream in("11 120\n"
2308 "-120 -40 0 80 122 140 160 220 240 260 300");
2309 auto out = ostringstream();
2310 main(in, out);
2311 ASSERT_EQ("120 5", out.str());
2312 }
2313 }// namespace a7_1
2314
2315 namespace a7_2 {
2316 TEST(a7_2, case1) {
2317 istringstream in("4\n"
2318 "8\n"
2319 "5 2 16 12 28 60 32 72\n"
2320 "8\n"
2321 "2 16 5 28 12 60 32 72\n"
2322 "8\n"
2323 "2 12 16 5 28 32 72 60\n"
2324 "8\n"
2325 "5 2 12 28 16 32 72 60");
2326 auto out = ostringstream();
2327 main(in, out);
2328 ASSERT_EQ("Yes\n"
2329 "Yes\n"
2330 "Yes\n"
2331 "No\n",
2332 out.str());
2333 }
2334 }// namespace a7_2
2335
2336 namespace a7_3 {
2337 TEST(a7_3, case1) {
2338 istringstream in("10 3\n"
2339 "3 9 3 8\n"
2340 "2 1 3\n"
2341 "2 9 7\n"
2342 "3 2 7 5\n"
2343 "3 6 3 7\n"
2344 "2 7 3\n"
2345 "1 2\n"
2346 "2 3 9\n"
2347 "1 10\n"
2348 "1 3");
2349 auto out = ostringstream();
2350 main(in, out);
2351 ASSERT_EQ("7 9", out.str());
2352 }
2353 }// namespace a7_3
2354
2355 namespace a7_4 {
2356 TEST(a7_4, case1) {
2357 istringstream in("7\n"
2358 "4 2 5 1 6 3 7\n"
2359 "1 2 4 5 3 6 7");
2360 auto out = ostringstream();
2361 main(in, out);
2362 ASSERT_EQ("1\n"
2363 "4 5 2 6 7 3 1",
2364 out.str());
2365 }
2366
2367 TEST(a7_4, case2) {
2368 istringstream in("10\n"
2369 "8 4 9 2 10 5 1 6 3 7\n"
2370 "1 2 4 8 9 5 10 3 6 7");
2371 auto out = ostringstream();
2372 main(in, out);
2373 ASSERT_EQ("2\n"
2374 "8 9 4 10 5 2 6 7 3 1",
2375 out.str());
2376 }
2377
2378 TEST(a7_4, case3) {
2379 istringstream in("10\n"
2380 "8 4 2 5 11 1 6 3 14 7\n"
2381 "1 2 4 8 5 11 3 6 7 14");
2382 auto out = ostringstream();
2383 main(in, out);
2384 ASSERT_EQ("3\n"
2385 "8 4 11 5 2 6 14 7 3 1",
2386 out.str());
2387 }
2388
2389 TEST(a7_4, case4) {
2390 istringstream in("7\n"
2391 "4 2 10 5 1 3 7\n"
2392 "1 2 4 5 10 3 7");
2393 auto out = ostringstream();
2394 main(in, out);
2395 ASSERT_EQ("0\n"
2396 "4 10 5 2 7 3 1",
2397 out.str());
2398 }
2399 }// namespace a7_4
2400 }// namespace a
2401
2402 namespace top {}
2403}// namespace pat
计算机程序设计能力考试
Definition: pat.cpp:22
TEST(b1001, case1)
Definition: pat_test.cpp:9
int main(istream &cin, ostream &cout)
Definition: pat.cpp:25
TEST(b1002, case1)
Definition: pat_test.cpp:19
int main(istream &cin, ostream &cout)
Definition: pat.cpp:43
TEST(b1003, case1)
Definition: pat_test.cpp:29
int main(istream &cin, ostream &cout)
Definition: pat.cpp:96
TEST(b1004, case1)
Definition: pat_test.cpp:59
int main(istream &cin, ostream &cout)
Definition: pat.cpp:155
int main(istream &cin, ostream &cout)
Definition: pat.cpp:180
TEST(b1005, case1)
Definition: pat_test.cpp:74
int main(istream &cin, ostream &cout)
Definition: pat.cpp:222
TEST(b1006, case1)
Definition: pat_test.cpp:85
TEST(b1007, case1)
Definition: pat_test.cpp:103
int main(istream &cin, ostream &cout)
Definition: pat.cpp:243
int main(istream &cin, ostream &cout)
Definition: pat.cpp:266
TEST(b1008, case1)
Definition: pat_test.cpp:113
TEST(b1009, case1)
Definition: pat_test.cpp:124
int main(istream &cin, ostream &cout)
Definition: pat.cpp:285
int main(istream &cin, ostream &cout)
Definition: pat.cpp:300
TEST(b1010, case1)
Definition: pat_test.cpp:134
int main(istream &cin, ostream &cout)
Definition: pat.cpp:325
TEST(b1011, case1)
Definition: pat_test.cpp:144
TEST(b1012, case1)
Definition: pat_test.cpp:162
int main(istream &cin, ostream &cout)
Definition: pat.cpp:340
int main(istream &cin, ostream &cout)
Definition: pat.cpp:417
TEST(b1013, case1)
Definition: pat_test.cpp:180
int main(istream &cin, ostream &cout)
Definition: pat.cpp:452
TEST(b1014, case1)
Definition: pat_test.cpp:193
TEST(b1015, case1)
Definition: pat_test.cpp:206
int main(istream &cin, ostream &cout)
Definition: pat.cpp:489
int main(istream &cin, ostream &cout)
Definition: pat.cpp:535
TEST(b1016, case1)
Definition: pat_test.cpp:243
int main(istream &cin, ostream &cout)
Definition: pat.cpp:571
TEST(b1018, case1)
Definition: pat_test.cpp:261
TEST(b1019, case1)
Definition: pat_test.cpp:284
int main(istream &cin, ostream &cout)
Definition: pat.cpp:659
TEST(b1020, case1)
Definition: pat_test.cpp:302
int main(istream &cin, ostream &cout)
Definition: pat.cpp:691
TEST(b1021, case1)
Definition: pat_test.cpp:312
int main(istream &cin, ostream &cout)
Definition: pat.cpp:728
TEST(b1022, case1)
Definition: pat_test.cpp:325
int main(istream &cin, ostream &cout)
Definition: pat.cpp:744
int main(istream &cin, ostream &cout)
Definition: pat.cpp:767
TEST(b1023, case1)
Definition: pat_test.cpp:343
int main(istream &cin, ostream &cout)
Definition: pat.cpp:790
TEST(b1024, case1)
Definition: pat_test.cpp:353
TEST(b1025, case1)
Definition: pat_test.cpp:371
int main(istream &cin, ostream &cout)
Definition: pat.cpp:834
int main(istream &cin, ostream &cout)
Definition: pat.cpp:866
TEST(b1026, case1)
Definition: pat_test.cpp:393
TEST(b1027, case1)
Definition: pat_test.cpp:403
int main(istream &cin, ostream &cout)
Definition: pat.cpp:882
TEST(b1028, case1)
Definition: pat_test.cpp:413
int main(istream &cin, ostream &cout)
Definition: pat.cpp:937
TEST(b1029, case1)
Definition: pat_test.cpp:423
int main(istream &cin, ostream &cout)
Definition: pat.cpp:983
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1006
TEST(b1030, case1)
Definition: pat_test.cpp:434
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1026
TEST(b1032, case1)
Definition: pat_test.cpp:445
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1053
TEST(b1032, case1)
Definition: pat_test.cpp:473
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1075
TEST(b1033, case1)
Definition: pat_test.cpp:489
TEST(b1034, case1)
Definition: pat_test.cpp:500
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1101
TEST(b1035, case1)
Definition: pat_test.cpp:526
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1119
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1191
TEST(b1036, case1)
Definition: pat_test.cpp:552
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1214
TEST(b1037, case1)
Definition: pat_test.cpp:567
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1245
TEST(b1038, case2)
Definition: pat_test.cpp:585
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1267
TEST(b1039, case1)
Definition: pat_test.cpp:597
TEST(b1040, case1)
Definition: pat_test.cpp:617
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1296
TEST(b1041, case1)
Definition: pat_test.cpp:627
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1328
TEST(b1042, case1)
Definition: pat_test.cpp:645
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1349
TEST(b1043, case1)
Definition: pat_test.cpp:655
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1373
TEST(b1044, case1)
Definition: pat_test.cpp:665
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1415
TEST(b1045, case1)
Definition: pat_test.cpp:701
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1491
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1527
TEST(b1046, case1)
Definition: pat_test.cpp:714
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1551
TEST(b1047, case1)
Definition: pat_test.cpp:729
TEST(b1048, case1)
Definition: pat_test.cpp:745
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1578
TEST(b1049, case1)
Definition: pat_test.cpp:755
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1620
TEST(b1050, case1)
Definition: pat_test.cpp:765
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1635
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1701
TEST(b1051, case1)
Definition: pat_test.cpp:775
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1725
TEST(b1052, case1)
Definition: pat_test.cpp:785
TEST(b1053, case1)
Definition: pat_test.cpp:795
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1802
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1836
TEST(b1054, case1)
Definition: pat_test.cpp:810
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1912
TEST(b1055, case1)
Definition: pat_test.cpp:838
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1970
TEST(b1056, case1)
Definition: pat_test.cpp:861
int main(istream &cin, ostream &cout)
Definition: pat.cpp:1985
TEST(b1057, case1)
Definition: pat_test.cpp:871
TEST(b1058, case1)
Definition: pat_test.cpp:881
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2012
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2086
TEST(b1059, case1)
Definition: pat_test.cpp:902
TEST(b1060, case1)
Definition: pat_test.cpp:931
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2118
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2138
TEST(b1061, case1)
Definition: pat_test.cpp:942
TEST(b1062, case1)
Definition: pat_test.cpp:960
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2166
TEST(b1063, case1)
Definition: pat_test.cpp:978
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2198
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2214
TEST(b1064, case1)
Definition: pat_test.cpp:993
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2239
TEST(b1066, case1)
Definition: pat_test.cpp:1006
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2303
TEST(b1067, case1)
Definition: pat_test.cpp:1022
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2336
TEST(b1068, case1)
Definition: pat_test.cpp:1057
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2397
TEST(b1069, case1)
Definition: pat_test.cpp:1097
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2427
TEST(b1070, case1)
Definition: pat_test.cpp:1129
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2445
TEST(b1071, case1)
Definition: pat_test.cpp:1140
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2476
TEST(b1071, case1)
Definition: pat_test.cpp:1173
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2516
TEST(b1073, case1)
Definition: pat_test.cpp:1192
TEST(b1074, case1)
Definition: pat_test.cpp:1230
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2587
TEST(b1075, case1)
Definition: pat_test.cpp:1242
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2630
TEST(b1076, case1)
Definition: pat_test.cpp:1270
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2670
TEST(b1078, case1)
Definition: pat_test.cpp:1288
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2691
TEST(b1077, case1)
Definition: pat_test.cpp:1308
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2736
bool is_palindromic(string str)
Definition: pat.cpp:2767
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2776
TEST(b1079, case1)
Definition: pat_test.cpp:1330
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2800
TEST(b1080, case1)
Definition: pat_test.cpp:1378
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2851
TEST(b1081, case1)
Definition: pat_test.cpp:1411
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2895
TEST(b1082, case1)
Definition: pat_test.cpp:1431
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2913
TEST(b1083, case1)
Definition: pat_test.cpp:1444
TEST(b1084, case1)
Definition: pat_test.cpp:1458
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2932
int main(istream &cin, ostream &cout)
Definition: pat.cpp:2958
TEST(b1085, case1)
Definition: pat_test.cpp:1468
TEST(b1086, case1)
Definition: pat_test.cpp:1494
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3023
TEST(b1087, case1)
Definition: pat_test.cpp:1504
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3042
TEST(b1088, case1)
Definition: pat_test.cpp:1514
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3051
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3110
TEST(b1089, case1)
Definition: pat_test.cpp:1532
TEST(b1089, case1)
Definition: pat_test.cpp:1574
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3153
TEST(b1091, case3)
Definition: pat_test.cpp:1596
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3197
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3226
TEST(b1092, case1)
Definition: pat_test.cpp:1610
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3287
TEST(b1094, case1)
Definition: pat_test.cpp:1625
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3327
TEST(b1095, case1)
Definition: pat_test.cpp:1645
TEST(b1096, case1)
Definition: pat_test.cpp:1679
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3415
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3461
TEST(b1097, case1)
Definition: pat_test.cpp:1693
TEST(b1098, case1)
Definition: pat_test.cpp:1710
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3497
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3522
TEST(b1099, case1)
Definition: pat_test.cpp:1732
TEST(b1100, case1)
Definition: pat_test.cpp:1754
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3572
TEST(b1101, case1)
Definition: pat_test.cpp:1778
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3611
TEST(b1102, case1)
Definition: pat_test.cpp:1796
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3625
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3647
TEST(b1103, case1)
Definition: pat_test.cpp:1812
TEST(b1104, case1)
Definition: pat_test.cpp:1832
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3675
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3743
TEST(b1105, case1)
Definition: pat_test.cpp:1856
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3787
TEST(b1106, case1)
Definition: pat_test.cpp:1880
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3809
TEST(b1107, case1)
Definition: pat_test.cpp:1890
TEST(b1108, case1)
Definition: pat_test.cpp:1905
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3834
TEST(b1109, case1)
Definition: pat_test.cpp:1915
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3856
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3912
TEST(b1110, case1)
Definition: pat_test.cpp:1940
TEST(a1003, case1)
Definition: pat_test.cpp:1968
int main(istream &cin, ostream &cout)
Definition: pat.cpp:3954
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4016
TEST(a1004, case1)
Definition: pat_test.cpp:1984
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4073
TEST(a1005, case1)
Definition: pat_test.cpp:1994
TEST(a1006, case1)
Definition: pat_test.cpp:2003
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4128
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4160
TEST(a1007, case1)
Definition: pat_test.cpp:2015
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4199
TEST(a1008, case1)
Definition: pat_test.cpp:2025
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4223
TEST(a1009, case1)
Definition: pat_test.cpp:2034
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4264
TEST(a1013, case1)
Definition: pat_test.cpp:2044
TEST(a1014, case1)
Definition: pat_test.cpp:2059
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4307
TEST(a1015, case1)
Definition: pat_test.cpp:2075
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4399
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4445
TEST(a1016, case1)
Definition: pat_test.cpp:2089
TEST(a1017, case1)
Definition: pat_test.cpp:2098
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4517
TEST(a1026, case1)
Definition: pat_test.cpp:2115
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4592
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4712
TEST(a1018, case1)
Definition: pat_test.cpp:2124
TEST(a1019, case1)
Definition: pat_test.cpp:2170
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4791
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4820
TEST(a1020, case1)
Definition: pat_test.cpp:2199
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4893
TEST(a1023, case1)
Definition: pat_test.cpp:2210
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4926
TEST(a1024, case1)
Definition: pat_test.cpp:2221
TEST(a1027, case1)
Definition: pat_test.cpp:2250
int main(istream &cin, ostream &cout)
Definition: pat.cpp:4995
int main(istream &cin, ostream &cout)
Definition: pat.cpp:5032
TEST(a1021, case1)
Definition: pat_test.cpp:2259
TEST(a7_1, case1)
Definition: pat_test.cpp:2306
int main(istream &cin, ostream &cout)
Definition: pat.cpp:5068
int main(istream &cin, ostream &cout)
Definition: pat.cpp:5121
TEST(a7_2, case1)
Definition: pat_test.cpp:2316
TEST(a7_3, case1)
Definition: pat_test.cpp:2337
int main(istream &cin, ostream &cout)
Definition: pat.cpp:5158
int main(istream &cin, ostream &cout)
Definition: pat.cpp:5305
TEST(a7_4, case1)
Definition: pat_test.cpp:2356