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
计算机程序设计能力考试
定义 pat.cpp:22
乙级
定义 pat.cpp:23
1001 害死人不偿命的(3n+1)猜想
定义 pat.cpp:24
TEST(b1001, case1)
int main(istream &cin, ostream &cout)
定义 pat.cpp:25
1002 写出这个数
定义 pat.cpp:42
TEST(b1002, case1)
int main(istream &cin, ostream &cout)
定义 pat.cpp:43
1003 我要通过!
定义 pat.cpp:95
TEST(b1003, case1)
int main(istream &cin, ostream &cout)
定义 pat.cpp:96
1004 成绩排名
TEST(b1004, case1)
int main(istream &cin, ostream &cout)
1005 继续(3n+1)猜想
int main(istream &cin, ostream &cout)
TEST(b1005, case1)
1006 换个格式输出整数
int main(istream &cin, ostream &cout)
TEST(b1006, case1)
1007 素数对猜想
TEST(b1007, case1)
int main(istream &cin, ostream &cout)
1008 数组元素循环右移问题
int main(istream &cin, ostream &cout)
TEST(b1008, case1)
1009 说反话
TEST(b1009, case1)
int main(istream &cin, ostream &cout)
1010 一元多项式求导
int main(istream &cin, ostream &cout)
TEST(b1010, case1)
1011 A+B 和 C
int main(istream &cin, ostream &cout)
TEST(b1011, case1)
1012 数字分类
TEST(b1012, case1)
int main(istream &cin, ostream &cout)
1013 数素数
int main(istream &cin, ostream &cout)
TEST(b1013, case1)
1014 福尔摩斯的约会
int main(istream &cin, ostream &cout)
TEST(b1014, case1)
1015 德才论
TEST(b1015, case1)
int main(istream &cin, ostream &cout)
1016 部分A+B
int main(istream &cin, ostream &cout)
TEST(b1016, case1)
1018 锤子剪刀布
int main(istream &cin, ostream &cout)
TEST(b1018, case1)
1019 数字黑洞
TEST(b1019, case1)
int main(istream &cin, ostream &cout)
1020 月饼
TEST(b1020, case1)
int main(istream &cin, ostream &cout)
1021 个位数统计
TEST(b1021, case1)
int main(istream &cin, ostream &cout)
1022 D进制的A+B
TEST(b1022, case1)
int main(istream &cin, ostream &cout)
1023 组个最小数
int main(istream &cin, ostream &cout)
TEST(b1023, case1)
1024 科学计数法
int main(istream &cin, ostream &cout)
TEST(b1024, case1)
1025 反转链表
TEST(b1025, case1)
int main(istream &cin, ostream &cout)
1026 程序运行时间
int main(istream &cin, ostream &cout)
TEST(b1026, case1)
1027 打印沙漏
TEST(b1027, case1)
int main(istream &cin, ostream &cout)
1028 人口普查
TEST(b1028, case1)
int main(istream &cin, ostream &cout)
1029 旧键盘
TEST(b1029, case1)
int main(istream &cin, ostream &cout)
1030 完美数列
int main(istream &cin, ostream &cout)
TEST(b1030, case1)
int main(istream &cin, ostream &cout)
TEST(b1032, case1)
1032 挖掘机技术哪家强
int main(istream &cin, ostream &cout)
TEST(b1032, case1)
1033 旧键盘打字
int main(istream &cin, ostream &cout)
TEST(b1033, case1)
1034 有理数四则运算
TEST(b1034, case1)
int main(istream &cin, ostream &cout)
1035 插入与归并
TEST(b1035, case1)
int main(istream &cin, ostream &cout)
1036 跟奥巴马一起编程
int main(istream &cin, ostream &cout)
TEST(b1036, case1)
1037 在霍格沃茨找零钱
int main(istream &cin, ostream &cout)
TEST(b1037, case1)
1038 统计同成绩学生
int main(istream &cin, ostream &cout)
TEST(b1038, case2)
1039 到底买不买
int main(istream &cin, ostream &cout)
TEST(b1039, case1)
1040 有几个PAT
TEST(b1040, case1)
int main(istream &cin, ostream &cout)
1041 考试座位号
TEST(b1041, case1)
int main(istream &cin, ostream &cout)
1042 字符统计
TEST(b1042, case1)
int main(istream &cin, ostream &cout)
1043 输出PATest
TEST(b1043, case1)
int main(istream &cin, ostream &cout)
1044 火星数字
TEST(b1044, case1)
int main(istream &cin, ostream &cout)
1045 快速排序
TEST(b1045, case1)
int main(istream &cin, ostream &cout)
1046 划拳
int main(istream &cin, ostream &cout)
TEST(b1046, case1)
1047 编程团体赛
int main(istream &cin, ostream &cout)
TEST(b1047, case1)
1048 数字加密
TEST(b1048, case1)
int main(istream &cin, ostream &cout)
1049 数列的片段和
TEST(b1049, case1)
int main(istream &cin, ostream &cout)
1050 螺旋矩阵
TEST(b1050, case1)
int main(istream &cin, ostream &cout)
1051 复数乘法
int main(istream &cin, ostream &cout)
TEST(b1051, case1)
1052 卖个萌
int main(istream &cin, ostream &cout)
TEST(b1052, case1)
1053 住房空置率
TEST(b1053, case1)
int main(istream &cin, ostream &cout)
1054 求平均值
int main(istream &cin, ostream &cout)
TEST(b1054, case1)
1055 集体照
int main(istream &cin, ostream &cout)
TEST(b1055, case1)
1056 组合数的和
int main(istream &cin, ostream &cout)
TEST(b1056, case1)
1057 数零壹
int main(istream &cin, ostream &cout)
TEST(b1057, case1)
1058 选择题
TEST(b1058, case1)
int main(istream &cin, ostream &cout)
1059 C语言竞赛
int main(istream &cin, ostream &cout)
TEST(b1059, case1)
1060 爱丁顿数
TEST(b1060, case1)
int main(istream &cin, ostream &cout)
1061 判断题
int main(istream &cin, ostream &cout)
TEST(b1061, case1)
1062 最简分数
TEST(b1062, case1)
int main(istream &cin, ostream &cout)
1063 计算谱半径
TEST(b1063, case1)
int main(istream &cin, ostream &cout)
1064 朋友数
int main(istream &cin, ostream &cout)
TEST(b1064, case1)
1066 图像过滤
int main(istream &cin, ostream &cout)
TEST(b1066, case1)
1067 试密码
int main(istream &cin, ostream &cout)
TEST(b1067, case1)
1068 万绿丛中一点红
int main(istream &cin, ostream &cout)
TEST(b1068, case1)
1069 微博转发抽奖
int main(istream &cin, ostream &cout)
TEST(b1069, case1)
1070 结绳
int main(istream &cin, ostream &cout)
TEST(b1070, case1)
1071 小赌怡情
int main(istream &cin, ostream &cout)
TEST(b1071, case1)
int main(istream &cin, ostream &cout)
TEST(b1071, case1)
1073 多选题常见计分法
int main(istream &cin, ostream &cout)
TEST(b1073, case1)
1074 宇宙无敌加法器
TEST(b1074, case1)
int main(istream &cin, ostream &cout)
1075 链表元素分类
TEST(b1075, case1)
int main(istream &cin, ostream &cout)
1076 Wifi密码
TEST(b1076, case1)
int main(istream &cin, ostream &cout)
1078 字符串压缩与解压
TEST(b1078, case1)
int main(istream &cin, ostream &cout)
1077 互评成绩计算
TEST(b1077, case1)
int main(istream &cin, ostream &cout)
1079 延迟的回文数
bool is_palindromic(string str)
int main(istream &cin, ostream &cout)
TEST(b1079, case1)
1080 MOOC期终成绩
int main(istream &cin, ostream &cout)
TEST(b1080, case1)
1081 检查密码
int main(istream &cin, ostream &cout)
TEST(b1081, case1)
1082 射击比赛
int main(istream &cin, ostream &cout)
TEST(b1082, case1)
1083 是否存在相等的差
int main(istream &cin, ostream &cout)
TEST(b1083, case1)
1084 外观数列
TEST(b1084, case1)
int main(istream &cin, ostream &cout)
1085 PAT单位排行
int main(istream &cin, ostream &cout)
TEST(b1085, case1)
1086 就不告诉你
TEST(b1086, case1)
int main(istream &cin, ostream &cout)
1087 有多少不同的值
TEST(b1087, case1)
int main(istream &cin, ostream &cout)
1088 三人行
TEST(b1088, case1)
int main(istream &cin, ostream &cout)
1089 狼人杀-简单版
int main(istream &cin, ostream &cout)
TEST(b1089, case1)
TEST(b1089, case1)
int main(istream &cin, ostream &cout)
1091 N-自守数
TEST(b1091, case3)
int main(istream &cin, ostream &cout)
1092 最好吃的月饼
int main(istream &cin, ostream &cout)
TEST(b1092, case1)
1094 谷歌的招聘
int main(istream &cin, ostream &cout)
TEST(b1094, case1)
1095 解码PAT准考证
int main(istream &cin, ostream &cout)
TEST(b1095, case1)
1096 大美数
TEST(b1096, case1)
int main(istream &cin, ostream &cout)
1097 矩阵行平移
int main(istream &cin, ostream &cout)
TEST(b1097, case1)
1098 岩洞施工
TEST(b1098, case1)
int main(istream &cin, ostream &cout)
1099 性感素数
int main(istream &cin, ostream &cout)
TEST(b1099, case1)
1100 校庆
TEST(b1100, case1)
int main(istream &cin, ostream &cout)
1101 B是A的多少倍
TEST(b1101, case1)
int main(istream &cin, ostream &cout)
1102 教超冠军卷
TEST(b1102, case1)
int main(istream &cin, ostream &cout)
1103 缘分数
int main(istream &cin, ostream &cout)
TEST(b1103, case1)
1104 天长地久
TEST(b1104, case1)
int main(istream &cin, ostream &cout)
1105 链表合并
int main(istream &cin, ostream &cout)
TEST(b1105, case1)
1106 2019数列
int main(istream &cin, ostream &cout)
TEST(b1106, case1)
1107 老鼠爱大米
int main(istream &cin, ostream &cout)
TEST(b1107, case1)
1108 String复读机
TEST(b1108, case1)
int main(istream &cin, ostream &cout)
1109 擅长C
TEST(b1109, case1)
int main(istream &cin, ostream &cout)
1110 区块反转
int main(istream &cin, ostream &cout)
TEST(b1110, case1)
1003 Emergency
TEST(a1003, case1)
int main(istream &cin, ostream &cout)
1004 Counting Leaves
int main(istream &cin, ostream &cout)
TEST(a1004, case1)
1005 Spell It Right
int main(istream &cin, ostream &cout)
TEST(a1005, case1)
1006 Sign In and Sign Out
TEST(a1006, case1)
int main(istream &cin, ostream &cout)
1007 Maximum Subsequence Sum
int main(istream &cin, ostream &cout)
TEST(a1007, case1)
1008 Elevator
int main(istream &cin, ostream &cout)
TEST(a1008, case1)
1009 Product of Polynomials
int main(istream &cin, ostream &cout)
TEST(a1009, case1)
1013 Battle Over Cities
int main(istream &cin, ostream &cout)
TEST(a1013, case1)
1014 Waiting in Line
TEST(a1014, case1)
int main(istream &cin, ostream &cout)
1015 Reversible Primes
TEST(a1015, case1)
int main(istream &cin, ostream &cout)
1016 Phone Bills
int main(istream &cin, ostream &cout)
TEST(a1016, case1)
银行排队
TEST(a1017, case1)
int main(istream &cin, ostream &cout)
TEST(a1026, case1)
int main(istream &cin, ostream &cout)
1018 Public Bike Management
int main(istream &cin, ostream &cout)
TEST(a1018, case1)
1019 General Palindromic Number
TEST(a1019, case1)
int main(istream &cin, ostream &cout)
1020 Tree Traversals
int main(istream &cin, ostream &cout)
TEST(a1020, case1)
1023 Have Fun with Numbers
int main(istream &cin, ostream &cout)
TEST(a1023, case1)
1024 Palindromic Number
int main(istream &cin, ostream &cout)
TEST(a1024, case1)
1027 Colors in Mars
TEST(a1027, case1)
int main(istream &cin, ostream &cout)
1021 Deepest Root
int main(istream &cin, ostream &cout)
TEST(a1021, case1)
7-1 Balloon Popping
TEST(a7_1, case1)
int main(istream &cin, ostream &cout)
7-2 The Second Run of Quicksort
int main(istream &cin, ostream &cout)
TEST(a7_2, case1)
7-3 Leader of the Opinion Leaders
TEST(a7_3, case1)
int main(istream &cin, ostream &cout)
7-4 Pseudo-completeness
int main(istream &cin, ostream &cout)
TEST(a7_4, case1)