2#include "gtest/gtest.h"
10 istringstream in(
"3");
11 auto out = ostringstream();
13 const auto ans = out.str();
20 istringstream in(
"1234567890987654321123456789");
21 auto out = ostringstream();
23 const auto ans = out.str();
24 ASSERT_EQ(
"yi san wu", ans);
30 istringstream in(
"10\n"
41 auto out = ostringstream();
43 const auto ans = out.str();
60 istringstream in(
"3\n"
64 auto out = ostringstream();
66 const auto ans = out.str();
67 ASSERT_EQ(
"Mike CS991301\n"
75 istringstream in(
"6\n"
77 auto out = ostringstream();
79 const auto ans = out.str();
80 ASSERT_EQ(
"7 6", ans);
86 istringstream in(
"234");
87 auto out = ostringstream();
89 const auto ans = out.str();
90 ASSERT_EQ(
"BBSSS1234", ans);
94 istringstream in(
"23");
95 auto out = ostringstream();
97 const auto ans = out.str();
98 ASSERT_EQ(
"SS123", ans);
104 istringstream in(
"20");
105 auto out = ostringstream();
107 const auto ans = out.str();
114 istringstream in(
"6 2\n"
116 auto out = ostringstream();
118 const auto ans = out.str();
119 ASSERT_EQ(
"5 6 1 2 3 4", ans);
125 istringstream in(
"Hello World Here I Come");
126 auto out = ostringstream();
128 const auto ans = out.str();
129 ASSERT_EQ(
"Come I Here World Hello", ans);
135 istringstream in(
"3 4 -5 2 6 1 -2 0");
136 auto out = ostringstream();
138 const auto ans = out.str();
139 ASSERT_EQ(
"12 3 -10 1 6 0", ans);
145 istringstream in(
"4\n"
148 "2147483647 0 2147483646\n"
149 "0 -2147483648 -2147483647");
150 auto out = ostringstream();
152 const auto ans = out.str();
153 ASSERT_EQ(
"Case #1: false\n"
163 istringstream in(
"13 1 2 3 4 5 6 7 8 9 10 20 16 18");
164 auto out = ostringstream();
166 const auto ans = out.str();
167 ASSERT_EQ(
"30 11 2 9.7 9", ans);
171 istringstream in(
"8 1 2 4 5 6 7 9 16");
172 auto out = ostringstream();
174 const auto ans = out.str();
175 ASSERT_EQ(
"N 11 2 N 9", ans);
181 istringstream in(
"5 27");
182 auto out = ostringstream();
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"
194 istringstream in(
"3485djDkxh4hhGE \n"
195 "2984akDfkkkkggEdsb \n"
198 auto out = ostringstream();
200 const auto ans = out.str();
201 ASSERT_EQ(
"THU 14:04", ans);
207 istringstream in(
"14 60 80\n"
222 auto out = ostringstream();
224 const auto ans = out.str();
244 istringstream in(
"3862767 6 13530293 3");
245 auto out = ostringstream();
247 const auto ans = out.str();
248 ASSERT_EQ(
"399", ans);
252 istringstream in(
"3862767 1 13530293 8");
253 auto out = ostringstream();
255 const auto ans = out.str();
262 istringstream in(
"10\n"
273 auto out = ostringstream();
275 const auto ans = out.str();
285 istringstream in(
"6767");
286 auto out = ostringstream();
288 const auto ans = out.str();
289 ASSERT_EQ(
"7766 - 6677 = 1089\n9810 - 0189 = 9621\n9621 - 1269 = 8352\n8532 - 2358 = 6174\n", ans);
293 istringstream in(
"2222");
294 auto out = ostringstream();
296 const auto ans = out.str();
297 ASSERT_EQ(
"2222 - 2222 = 0000\n", out.str());
303 istringstream in(
"3 20\n18 15 10\n75 72 45\n");
304 auto out = ostringstream();
306 const auto ans = out.str();
307 ASSERT_EQ(
"94.50", out.str());
313 istringstream in(
"100311");
314 auto out = ostringstream();
316 const auto ans = out.str();
326 istringstream in(
"123 456 8");
327 auto out = ostringstream();
329 const auto ans = out.str();
330 ASSERT_EQ(
"1103", out.str());
334 istringstream in(
"20 30 10");
335 auto out = ostringstream();
337 const auto ans = out.str();
338 ASSERT_EQ(
"50", out.str());
344 istringstream in(
"2 2 0 0 0 3 0 0 1 0");
345 auto out = ostringstream();
347 const auto ans = out.str();
348 ASSERT_EQ(
"10015558", out.str());
354 istringstream in(
"+1.23400E-03");
355 auto out = ostringstream();
357 const auto ans = out.str();
358 ASSERT_EQ(
"0.00123400", out.str());
362 istringstream in(
"-1.2E+10");
363 auto out = ostringstream();
365 const auto ans = out.str();
366 ASSERT_EQ(
"-12000000000", out.str());
372 istringstream in(
"00100 6 4\n"
379 auto out = ostringstream();
381 const auto ans = out.str();
382 ASSERT_EQ(
"00000 4 33218\n"
394 istringstream in(
"123 4577973");
395 auto out = ostringstream();
397 const auto ans = out.str();
398 ASSERT_EQ(
"12:42:59", out.str());
404 istringstream in(
"19 *");
405 auto out = ostringstream();
407 const auto ans = out.str();
408 ASSERT_EQ(
"*****\n ***\n *\n ***\n*****\n2", out.str());
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();
417 const auto ans = out.str();
418 ASSERT_EQ(
"3 Tom John", out.str());
424 istringstream in(
"7_This_is_a_test\n"
426 auto out = ostringstream();
428 const auto ans = out.str();
429 ASSERT_EQ(
"7TI", out.str());
435 istringstream in(
"10 8\n"
436 "2 3 20 4 5 1 6 7 8 9");
437 auto out = ostringstream();
439 const auto ans = out.str();
440 ASSERT_EQ(
"8", out.str());
446 istringstream in(
"4\n"
447 "320124198808240056\n"
448 "12010X198901011234\n"
449 "110108196711301866\n"
450 "37070419881216001X");
451 auto out = ostringstream();
453 const auto ans = out.str();
454 ASSERT_EQ(
"12010X198901011234\n"
455 "110108196711301866\n"
456 "37070419881216001X\n",
461 istringstream in(
"2\n"
462 "320124198808240056\n"
463 "110108196711301862");
464 auto out = ostringstream();
466 const auto ans = out.str();
467 ASSERT_EQ(
"All passed",
474 istringstream in(
"6\n"
481 auto out = ostringstream();
483 const auto ans = out.str();
484 ASSERT_EQ(
"2 150", out.str());
490 istringstream in(
"7+IE.\n"
491 "7_This_is_a_test.");
492 auto out = ostringstream();
494 const auto ans = out.str();
495 ASSERT_EQ(
"_hs_s_a_tst", out.str());
501 istringstream in(
"2/3 -4/2");
502 auto out = ostringstream();
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)",
513 istringstream in(
"5/3 0/6");
514 auto out = ostringstream();
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"
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();
532 const auto ans = out.str();
533 ASSERT_EQ(
"Insertion Sort\n"
534 "1 2 3 5 7 8 9 4 6 0",
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();
544 const auto ans = out.str();
545 ASSERT_EQ(
"Merge Sort\n"
546 "1 2 3 8 4 5 7 9 0 6",
553 istringstream in(
"10 a");
554 auto out = ostringstream();
556 const auto ans = out.str();
557 ASSERT_EQ(
"aaaaaaaaaa\n"
568 istringstream in(
"10.16.27 14.1.28");
569 auto out = ostringstream();
571 const auto ans = out.str();
572 ASSERT_EQ(
"3.2.1", out.str());
576 istringstream in(
"14.1.28 10.16.27");
577 auto out = ostringstream();
579 const auto ans = out.str();
580 ASSERT_EQ(
"-3.2.1", out.str());
586 istringstream in(
"10\n"
587 "60 75 90 55 75 99 82 90 75 50\n"
589 auto out = ostringstream();
591 const auto ans = out.str();
592 ASSERT_EQ(
"3 2 0", out.str());
598 istringstream in(
"ppRYYGrrYBR2258\n"
600 auto out = ostringstream();
602 const auto ans = out.str();
603 ASSERT_EQ(
"Yes 8", out.str());
607 istringstream in(
"ppRYYGrrYB225\n"
609 auto out = ostringstream();
611 const auto ans = out.str();
612 ASSERT_EQ(
"No 2", out.str());
618 istringstream in(
"APPAPT");
619 auto out = ostringstream();
621 const auto ans = out.str();
622 ASSERT_EQ(
"2", out.str());
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"
635 auto out = ostringstream();
637 const auto ans = out.str();
638 ASSERT_EQ(
"3310120150912002 2\n"
639 "3310120150912119 1\n",
646 istringstream in(
"This is a simple TEST. There ARE numbers and other symbols 1&2&3...........");
647 auto out = ostringstream();
649 const auto ans = out.str();
650 ASSERT_EQ(
"e 7", out.str());
656 istringstream in(
"redlesPayBestPATTopTeePHPereatitAPPT");
657 auto out = ostringstream();
659 const auto ans = out.str();
660 ASSERT_EQ(
"PATestPATestPTetPTePePee", out.str());
666 istringstream in(
"4\n"
671 auto out = ostringstream();
673 const auto ans = out.str();
674 ASSERT_EQ(
"hel mar\n"
682 istringstream in(
"1\n"
684 auto out = ostringstream();
686 const auto ans = out.str();
687 ASSERT_EQ(
"0", out.str());
691 istringstream in(
"1\n"
693 auto out = ostringstream();
695 const auto ans = out.str();
696 ASSERT_EQ(
"tret", out.str());
702 istringstream in(
"5\n"
704 auto out = ostringstream();
706 const auto ans = out.str();
715 istringstream in(
"5\n"
721 auto out = ostringstream();
723 const auto ans = out.str();
724 ASSERT_EQ(
"1 2", out.str());
730 istringstream in(
"6\n"
737 auto out = ostringstream();
739 const auto ans = out.str();
740 ASSERT_EQ(
"11 176", out.str());
746 istringstream in(
"1234567 368782971");
747 auto out = ostringstream();
749 const auto ans = out.str();
750 ASSERT_EQ(
"3695Q8118", out.str());
756 istringstream in(
"4\n0.1 0.2 0.3 0.4\n");
757 auto out = ostringstream();
759 const auto ans = out.str();
760 ASSERT_EQ(
"5.00", out.str());
766 istringstream in(
"12\n37 76 20 98 76 42 53 95 60 81 58 93\n");
767 auto out = ostringstream();
769 const auto ans = out.str();
770 ASSERT_EQ(
"98 95 93\n42 37 81\n53 20 76\n58 60 76", out.str());
776 istringstream in(
"2.3 3.5 5.2 0.4");
777 auto out = ostringstream();
779 const auto ans = out.str();
780 ASSERT_EQ(
"-8.68-8.23i", out.str());
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();
789 const auto ans = out.str();
790 ASSERT_EQ(
"�r(�s���t)�q\n<(@��=)/~\no(^��^)o\nAre you kidding me? @\\/@\n", out.str());
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();
804 const auto ans = out.str();
805 ASSERT_EQ(
"40.0% 20.0%", out.str());
811 istringstream in(
"7\n"
812 "5 -3.2 aaa 9999 2.3.4 7.123 2.35");
813 auto out = ostringstream();
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",
825 istringstream in(
"2\n"
827 auto out = ostringstream();
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",
839 istringstream in(
"10 3\n"
850 auto out = ostringstream();
852 const auto ans = out.str();
853 ASSERT_EQ(
"Bob Tom Joe Nick\n"
862 istringstream in(
"3 2 8 5");
863 auto out = ostringstream();
865 const auto ans = out.str();
866 ASSERT_EQ(
"330", out.str());
872 istringstream in(
"PAT (Basic)");
873 auto out = ostringstream();
875 const auto ans = out.str();
876 ASSERT_EQ(
"3 4", out.str());
882 istringstream in(
"3 4 \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();
892 const auto ans = out.str();
903 istringstream in(
"6\n"
917 auto out = ostringstream();
919 const auto ans = out.str();
920 ASSERT_EQ(
"8888: Minion\n"
922 "1111: Mystery Award\n"
923 "2222: Are you kidding?\n"
925 "2222: Are you kidding?\n",
932 istringstream in(
"10\n"
933 "6 7 6 9 3 10 8 2 7 8");
934 auto out = ostringstream();
936 const auto ans = out.str();
937 ASSERT_EQ(
"6", out.str());
943 istringstream in(
"3 6\n"
949 auto out = ostringstream();
951 const auto ans = out.str();
961 istringstream in(
"7/18 13/20 12");
962 auto out = ostringstream();
964 const auto ans = out.str();
965 ASSERT_EQ(
"5/12 7/12", out.str());
969 istringstream in(
"26/5 7/20 13");
970 auto out = ostringstream();
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());
979 istringstream in(
"5\n"
985 auto out = ostringstream();
987 const auto ans = out.str();
988 ASSERT_EQ(
"4.24", out.str());
994 istringstream in(
"8\n"
995 "123 899 51 998 27 33 36 12");
996 auto out = ostringstream();
998 const auto ans = out.str();
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();
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",
1023 istringstream in(
"Correct%pw 3\n"
1026 "whatisthepassword!\n"
1029 auto out = ostringstream();
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"
1040 istringstream in(
"cool@gplt 3\n"
1046 auto out = ostringstream();
1048 const auto ans = out.str();
1049 ASSERT_EQ(
"Wrong password: coolman@gplt\n"
1050 "Wrong password: coollady@gplt\n"
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();
1067 const auto ans = out.str();
1068 ASSERT_EQ(
"(5, 3): 16711680", out.str());
1072 istringstream in(
"4 5 2\n"
1078 auto out = ostringstream();
1080 const auto ans = out.str();
1081 ASSERT_EQ(
"Not Unique", out.str());
1085 istringstream in(
"3 3 5\n"
1089 auto out = ostringstream();
1091 const auto ans = out.str();
1092 ASSERT_EQ(
"Not Exist", out.str());
1098 istringstream in(
"9 3 2\n"
1108 auto out = ostringstream();
1110 const auto ans = out.str();
1111 ASSERT_EQ(
"PickMe\n"
1118 istringstream in(
"2 3 5\n"
1121 auto out = ostringstream();
1123 const auto ans = out.str();
1124 ASSERT_EQ(
"Keep going...", out.str());
1130 istringstream in(
"8\n"
1131 "10 15 12 3 4 13 1 15");
1132 auto out = ostringstream();
1134 const auto ans = out.str();
1135 ASSERT_EQ(
"14", out.str());
1141 istringstream in(
"100 4\n"
1146 auto out = ostringstream();
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",
1157 istringstream in(
"100 4\n"
1162 auto out = ostringstream();
1164 const auto ans = out.str();
1165 ASSERT_EQ(
"Win 100! Total = 200.\n"
1166 "Lose 200. Total = 0.\n"
1174 istringstream in(
"4 2\n"
1176 "CYLL 3 1234 2345 3456\n"
1177 "U 4 9966 6666 8888 6666\n"
1179 "JJ 3 0012 6666 2333");
1180 auto out = ostringstream();
1182 const auto ans = out.str();
1183 ASSERT_EQ(
"U: 6666 6666\n"
1193 istringstream in(
"3 4 \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();
1203 const auto ans = out.str();
1214 istringstream in(
"2 2 \n"
1219 auto out = ostringstream();
1221 const auto ans = out.str();
1231 istringstream in(
"30527\n"
1234 auto out = ostringstream();
1236 const auto ans = out.str();
1237 ASSERT_EQ(
"7201", out.str());
1243 istringstream in(
"00100 9 10\n"
1253 auto out = ostringstream();
1255 const auto ans = out.str();
1256 ASSERT_EQ(
"33218 -4 68237\n"
1271 istringstream in(
"8\n"
1280 auto out = ostringstream();
1282 const auto ans = out.str();
1283 ASSERT_EQ(
"13224143", out.str());
1289 istringstream in(
"C\n"
1290 "TTTTThhiiiis isssss a tesssst CAaaa as");
1291 auto out = ostringstream();
1293 const auto ans = out.str();
1294 ASSERT_EQ(
"5T2h4is i5s a3 te4st CA3a as", out.str());
1298 istringstream in(
"D\n"
1299 "5T2h4is i5s a3 te4st CA3a as10Z");
1300 auto out = ostringstream();
1302 const auto ans = out.str();
1303 ASSERT_EQ(
"TTTTThhiiiis isssss a tesssst CAaaa asZZZZZZZZZZ", out.str());
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();
1318 const auto ans = out.str();
1331 istringstream in(
"97152");
1332 auto out = ostringstream();
1334 const auto ans = out.str();
1335 ASSERT_EQ(
"97152 + 25179 = 122331\n"
1336 "122331 + 133221 = 255552\n"
1337 "255552 is a palindromic number.",
1342 istringstream in(
"196");
1343 auto out = ostringstream();
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.",
1379 istringstream in(
"6 6 7\n"
1399 auto out = ostringstream();
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",
1412 istringstream in(
"5\n"
1418 auto out = ostringstream();
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",
1432 istringstream in(
"3\n"
1436 auto out = ostringstream();
1438 const auto ans = out.str();
1439 ASSERT_EQ(
"0233 0001", out.str());
1445 istringstream in(
"8\n"
1447 auto out = ostringstream();
1449 const auto ans = out.str();
1459 istringstream in(
"1 8");
1460 auto out = ostringstream();
1462 const auto ans = out.str();
1463 ASSERT_EQ(
"1123123111", out.str());
1469 istringstream in(
"10\n"
1480 auto out = ostringstream();
1482 const auto ans = out.str();
1495 istringstream in(
"5 7");
1496 auto out = ostringstream();
1498 const auto ans = out.str();
1499 ASSERT_EQ(
"53", out.str());
1505 istringstream in(
"2017");
1506 auto out = ostringstream();
1508 const auto ans = out.str();
1509 ASSERT_EQ(
"1480", out.str());
1515 istringstream in(
"48 3 7");
1516 auto out = ostringstream();
1518 const auto ans = out.str();
1519 ASSERT_EQ(
"48 Ping Cong Gai", out.str());
1523 istringstream in(
"48 11 6");
1524 auto out = ostringstream();
1526 const auto ans = out.str();
1527 ASSERT_EQ(
"No Solution", out.str());
1533 istringstream in(
"5\n"
1539 auto out = ostringstream();
1541 const auto ans = out.str();
1542 ASSERT_EQ(
"1 4", out.str());
1546 istringstream in(
"6\n"
1553 auto out = ostringstream();
1555 const auto ans = out.str();
1556 ASSERT_EQ(
"1 5", out.str());
1560 istringstream in(
"5\n"
1566 auto out = ostringstream();
1568 const auto ans = out.str();
1569 ASSERT_EQ(
"No Solution", out.str());
1575 istringstream in(
"6 3\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();
1587 const auto ans = out.str();
1597 istringstream in(
"3\n"
1599 auto out = ostringstream();
1601 const auto ans = out.str();
1602 ASSERT_EQ(
"3 25392\n"
1611 istringstream in(
"5 3\n"
1612 "1001 992 0 233 6\n"
1615 auto out = ostringstream();
1617 const auto ans = out.str();
1626 istringstream in(
"20 5\n"
1627 "23654987725541023819");
1628 auto out = ostringstream();
1630 const auto ans = out.str();
1631 ASSERT_EQ(
"49877", out.str());
1635 istringstream in(
"10 3\n"
1637 auto out = ostringstream();
1639 const auto ans = out.str();
1640 ASSERT_EQ(
"404", out.str());
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"
1659 auto out = ostringstream();
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"
1668 "Case 3: 3 180908\n"
1680 istringstream in(
"3\n"
1682 auto out = ostringstream();
1684 const auto ans = out.str();
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();
1704 const auto ans = out.str();
1705 ASSERT_EQ(
"529 481 479 263 417 342 343", out.str());
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();
1716 const auto ans = out.str();
1717 ASSERT_EQ(
"Yes 1", out.str());
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();
1726 const auto ans = out.str();
1727 ASSERT_EQ(
"No 1", out.str());
1733 istringstream in(
"47");
1734 auto out = ostringstream();
1736 const auto ans = out.str();
1743 istringstream in(
"21");
1744 auto out = ostringstream();
1746 const auto ans = out.str();
1755 istringstream in(
"5\n"
1756 "372928196906118710\n"
1757 "610481197806202213\n"
1758 "440684198612150417\n"
1759 "13072819571002001X\n"
1760 "150702193604190912\n"
1762 "530125197901260019\n"
1763 "150702193604190912\n"
1764 "220221196701020034\n"
1765 "610481197806202213\n"
1766 "440684198612150417\n"
1767 "370205198709275042");
1768 auto out = ostringstream();
1770 const auto ans = out.str();
1772 "150702193604190912",
1779 istringstream in(
"12345 2");
1780 auto out = ostringstream();
1782 const auto ans = out.str();
1783 ASSERT_EQ(
"3.66", out.str());
1787 istringstream in(
"12345 5");
1788 auto out = ostringstream();
1790 const auto ans = out.str();
1791 ASSERT_EQ(
"1.00", out.str());
1797 istringstream in(
"4\n"
1802 auto out = ostringstream();
1804 const auto ans = out.str();
1805 ASSERT_EQ(
"pku2019 332\n"
1813 istringstream in(
"8 200");
1814 auto out = ostringstream();
1816 const auto ans = out.str();
1823 istringstream in(
"9 100");
1824 auto out = ostringstream();
1826 const auto ans = out.str();
1827 ASSERT_EQ(
"No Solution", out.str());
1833 istringstream in(
"2\n"
1836 auto out = ostringstream();
1838 const auto ans = out.str();
1839 ASSERT_EQ(
"Case 1\n"
1857 istringstream in(
"00100 01000 7\n"
1865 auto out = ostringstream();
1867 const auto ans = out.str();
1868 ASSERT_EQ(
"01000 1 02233\n"
1881 istringstream in(
"10");
1882 auto out = ostringstream();
1884 const auto ans = out.str();
1885 ASSERT_EQ(
"2019224758", out.str());
1891 istringstream in(
"3 5\n"
1895 auto out = ostringstream();
1897 const auto ans = out.str();
1898 ASSERT_EQ(
"88 31 91\n"
1906 istringstream in(
"sTRidlinSayBingStrropriiSHSiRiagIgtSSr");
1907 auto out = ostringstream();
1909 const auto ans = out.str();
1910 ASSERT_EQ(
"StringStringSrigSriSiSii", out.str());
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();
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"
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.",
1941 istringstream in(
"00100 8 3\n"
1950 auto out = ostringstream();
1952 const auto ans = out.str();
1953 ASSERT_EQ(
"71120 7 88666\n"
1969 istringstream in(
"5 6 0 2\n"
1977 auto out = ostringstream();
1979 ASSERT_EQ(
"2 4", out.str());
1985 istringstream in(
"2 1\n"
1987 auto out = ostringstream();
1989 ASSERT_EQ(
"0 1", out.str());
1995 istringstream in(
"12345");
1996 auto out = ostringstream();
1998 ASSERT_EQ(
"one five", out.str());
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();
2010 ASSERT_EQ(
"SC3021234 CS301133", out.str());
2016 istringstream in(
"10\n"
2017 "-10 1 2 3 4 -5 -23 3 7 -21");
2018 auto out = ostringstream();
2020 ASSERT_EQ(
"10 1 4", out.str());
2026 istringstream in(
"3 2 3 1");
2027 auto out = ostringstream();
2029 ASSERT_EQ(
"41", out.str());
2035 istringstream in(
"2 1 2.4 0 3.2\n"
2037 auto out = ostringstream();
2039 ASSERT_EQ(
"3 3 3.6 2 6.0 1 1.6", out.str());
2045 istringstream in(
"3 2 3\n"
2049 auto out = ostringstream();
2060 istringstream in(
"2 2 7 5\n"
2063 auto out = ostringstream();
2076 istringstream in(
"73 10\n"
2080 auto out = ostringstream();
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();
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());
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();
2102 ASSERT_EQ(
"8.2", out.str());
2106 istringstream in(
"2 1\n16:30:00 100\n16:40:00 10");
2107 auto out = ostringstream();
2109 ASSERT_EQ(
"25.0", out.str());
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();
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());
2125 istringstream in(
"10 3 3 5\n"
2132 auto out = ostringstream();
2134 ASSERT_EQ(
"3 0->2->3 0", out.str());
2138 istringstream in(
"10 5 5 7\n"
2147 auto out = ostringstream();
2149 ASSERT_EQ(
"1 0->1->2->5 8", out.str());
2153 istringstream in(
"10 7 7 8\n"
2163 auto out = ostringstream();
2165 ASSERT_EQ(
"4 0->1->2->5->6->7 0", out.str());
2171 istringstream in(
"27 2");
2172 auto out = ostringstream();
2180 istringstream in(
"121 5");
2181 auto out = ostringstream();
2189 istringstream in(
"123212312 987654321");
2190 auto out = ostringstream();
2200 istringstream in(
"7\n"
2203 auto out = ostringstream();
2205 ASSERT_EQ(
"4 1 6 3 5 7 2", out.str());
2211 istringstream in(
"1234567899");
2212 auto out = ostringstream();
2222 istringstream in(
"67 3");
2223 auto out = ostringstream();
2231 istringstream in(
"69 3");
2232 auto out = ostringstream();
2240 istringstream in(
"7237160004 37");
2241 auto out = ostringstream();
2243 ASSERT_EQ(
"93682709897533470989727738\n"
2251 istringstream in(
"15 43 71");
2252 auto out = ostringstream();
2254 ASSERT_EQ(
"#123456", out.str());
2260 istringstream in(
"5\n"
2265 auto out = ostringstream();
2274 istringstream in(
"5\n"
2279 auto out = ostringstream();
2281 ASSERT_EQ(
"Error: 2 components", out.str());
2285 istringstream in(
"10\n"
2295 auto out = ostringstream();
2307 istringstream in(
"11 120\n"
2308 "-120 -40 0 80 122 140 160 220 240 260 300");
2309 auto out = ostringstream();
2311 ASSERT_EQ(
"120 5", out.str());
2317 istringstream in(
"4\n"
2319 "5 2 16 12 28 60 32 72\n"
2321 "2 16 5 28 12 60 32 72\n"
2323 "2 12 16 5 28 32 72 60\n"
2325 "5 2 12 28 16 32 72 60");
2326 auto out = ostringstream();
2338 istringstream in(
"10 3\n"
2349 auto out = ostringstream();
2351 ASSERT_EQ(
"7 9", out.str());
2357 istringstream in(
"7\n"
2360 auto out = ostringstream();
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();
2374 "8 9 4 10 5 2 6 7 3 1",
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();
2385 "8 4 11 5 2 6 14 7 3 1",
2390 istringstream in(
"7\n"
2393 auto out = ostringstream();
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
bool is_palindromic(string str)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)