problemscpp
A collection of my answers to algorithm problems in c++.
载入中...
搜索中...
未找到
acwing_test.cpp
浏览该文件的文档.
1#include "acwing.h"
2#include "gtest/gtest.h"
3#include <chrono>
4
5namespace acwing {
6 TEST(acwing1, case1) {
7 istringstream in("3 4");
8 auto out = ostringstream();
9 acwing1::main(in, out);
10 const auto ans = out.str();
11 ASSERT_EQ("7", ans);
12 }
13
14 TEST(acwing4200, case1) {
15 istringstream in("2 7 1 8 2 8");
16 auto out = ostringstream();
17 acwing4200::main(in, out);
18 const auto ans = out.str();
19 ASSERT_EQ("0", ans);
20 }
21
22 TEST(acwing4200, case2) {
23 istringstream in("20 30 40 50 0 100");
24 auto out = ostringstream();
25 acwing4200::main(in, out);
26 const auto ans = out.str();
27 ASSERT_EQ("20", ans);
28 }
29
30 TEST(acwing4200, case3) {
31 istringstream in("31 41 59 26 17 43");
32 auto out = ostringstream();
33 acwing4200::main(in, out);
34 const auto ans = out.str();
35 ASSERT_EQ("9", ans);
36 }
37
38 TEST(acwing4201, case1) {
39 istringstream in("10");
40 auto out = ostringstream();
41 acwing4201::main(in, out);
42 const auto ans = out.str();
43 ASSERT_EQ("2", ans);
44 }
45
46 TEST(acwing4201, case2) {
47 istringstream in("20");
48 auto out = ostringstream();
49 acwing4201::main(in, out);
50 const auto ans = out.str();
51 ASSERT_EQ("3", ans);
52 }
53
54 TEST(acwing4201, case3) {
55 istringstream in("100");
56 auto out = ostringstream();
57 acwing4201::main(in, out);
58 const auto ans = out.str();
59 ASSERT_EQ("4", ans);
60 }
61
62 TEST(acwing4201, case4) {
63 istringstream in("1000");
64 auto out = ostringstream();
65 acwing4201::main(in, out);
66 const auto ans = out.str();
67 ASSERT_EQ("8", ans);
68 }
69
70 TEST(acwing4201, case5) {
71 istringstream in("10000");
72 auto out = ostringstream();
73 acwing4201::main(in, out);
74 const auto ans = out.str();
75 ASSERT_EQ("16", ans);
76 }
77
78 TEST(acwing4201, case6) {
79 istringstream in("200");
80 auto out = ostringstream();
81 acwing4201::main(in, out);
82 const auto ans = out.str();
83 ASSERT_EQ("7", ans);
84 }
85
86 TEST(acwing4201, case7) {
87 istringstream in("101");
88 auto out = ostringstream();
89 acwing4201::main(in, out);
90 const auto ans = out.str();
91 ASSERT_EQ("5", ans);
92 }
93
94 TEST(acwing4201, case8) {
95 istringstream in("1");
96 auto out = ostringstream();
97 acwing4201::main(in, out);
98 const auto ans = out.str();
99 ASSERT_EQ("1", ans);
100 }
101
102 TEST(acwing4201, case9) {
103 istringstream in("102");
104 auto out = ostringstream();
105 acwing4201::main(in, out);
106 const auto ans = out.str();
107 ASSERT_EQ("5", ans);
108 }
109
110 TEST(acwing4201, case10) {
111 istringstream in("111");
112 auto out = ostringstream();
113 acwing4201::main(in, out);
114 const auto ans = out.str();
115 ASSERT_EQ("7", ans);
116 }
117
118 TEST(acwing4201, case11) {
119 istringstream in("110");
120 auto out = ostringstream();
121 acwing4201::main(in, out);
122 const auto ans = out.str();
123 ASSERT_EQ("6", ans);
124 }
125
126 TEST(acwing608, case1) {
127 istringstream in("5\n6\n7\n8");
128 auto out = ostringstream();
129 acwing608::main(in, out);
130 const auto ans = out.str();
131 ASSERT_EQ("DIFERENCA = -26", ans);
132 }
133
134 TEST(acwing604, case1) {
135 istringstream in("2.00");
136 auto out = ostringstream();
137 acwing604::main(in, out);
138 const auto ans = out.str();
139 ASSERT_EQ("A=12.5664", ans);
140 }
141
142 TEST(acwing606, case1) {
143 istringstream in("5.0\n7.1");
144 auto out = ostringstream();
145 acwing606::main(in, out);
146 const auto ans = out.str();
147 ASSERT_EQ("MEDIA = 6.43182", ans);
148 }
149
150 TEST(acwing609, case1) {
151 istringstream in("25\n100\n5.50");
152 auto out = ostringstream();
153 acwing609::main(in, out);
154 const auto ans = out.str();
155 ASSERT_EQ("NUMBER = 25\n"
156 "SALARY = U$ 550.00",
157 ans);
158 }
159
160 TEST(acwing615, case1) {
161 istringstream in("500\n35.0");
162 auto out = ostringstream();
163 acwing615::main(in, out);
164 const auto ans = out.str();
165 ASSERT_EQ("14.286 km/l", ans);
166 }
167
168 TEST(acwing616, case1) {
169 istringstream in("1.0 7.0\n5.0 9.0");
170 auto out = ostringstream();
171 acwing616::main(in, out);
172 const auto ans = out.str();
173 ASSERT_EQ("4.4721", ans);
174 }
175
176 TEST(acwing653, case1) {
177 istringstream in("576");
178 auto out = ostringstream();
179 acwing653::main(in, out);
180 const auto ans = out.str();
181 ASSERT_EQ("576\n"
182 "5 nota(s) de R$ 100,00\n"
183 "1 nota(s) de R$ 50,00\n"
184 "1 nota(s) de R$ 20,00\n"
185 "0 nota(s) de R$ 10,00\n"
186 "1 nota(s) de R$ 5,00\n"
187 "0 nota(s) de R$ 2,00\n"
188 "1 nota(s) de R$ 1,00",
189 ans);
190 }
191
192 TEST(acwing4203, case1) {
193 istringstream in("001001");
194 auto out = ostringstream();
195 acwing4203::main(in, out);
196 const auto ans = out.str();
197 ASSERT_EQ("NO", ans);
198 }
199
200 TEST(acwing4203, case2) {
201 istringstream in("1000000001");
202 auto out = ostringstream();
203 acwing4203::main(in, out);
204 const auto ans = out.str();
205 ASSERT_EQ("YES", ans);
206 }
207
208 TEST(acwing4204, case1) {
209 istringstream in("2");
210 auto out = ostringstream();
211 acwing4204::main(in, out);
212 const auto ans = out.str();
213 ASSERT_EQ("0 1\n"
214 "1 0",
215 ans);
216 }
217
218 TEST(acwing4204, case2) {
219 istringstream in("4");
220 auto out = ostringstream();
221 acwing4204::main(in, out);
222 const auto ans = out.str();
223 ASSERT_EQ("0 1 2 3\n"
224 "1 0 3 2\n"
225 "2 3 0 1\n"
226 "3 2 1 0",
227 ans);
228 }
229
230 TEST(acwing4204, case3) {
231 istringstream in("6");
232 auto out = ostringstream();
233 acwing4204::main(in, out);
234 const auto ans = out.str();
235 ASSERT_EQ("0 1 2 3 4 5\n"
236 "1 0 3 4 5 2\n"
237 "2 3 0 5 1 4\n"
238 "3 4 5 0 2 1\n"
239 "4 5 1 2 0 3\n"
240 "5 2 4 1 3 0",
241 ans);
242 }
243
244 TEST(acwing2058, case1) {
245 istringstream in("1010\n"
246 "212");
247 auto out = ostringstream();
248 acwing2058::main(in, out);
249 const auto ans = out.str();
250 ASSERT_EQ("14", ans);
251 }
252
253 TEST(acwing654, case1) {
254 istringstream in("556");
255 auto out = ostringstream();
256 acwing654::main(in, out);
257 const auto ans = out.str();
258 ASSERT_EQ("0:9:16", ans);
259 }
260
261 TEST(acwing605, case1) {
262 istringstream in("3\n"
263 "9");
264 auto out = ostringstream();
265 acwing605::main(in, out);
266 const auto ans = out.str();
267 ASSERT_EQ("PROD = 27", ans);
268 }
269
270 TEST(acwing2041, case1) {
271 istringstream in("7 4\n5 5\n2 4\n4 6\n3 5");
272 auto out = ostringstream();
273 acwing2041::main(in, out);
274 const auto ans = out.str();
275 ASSERT_EQ("1", ans);
276 }
277
278 TEST(acwing2041, case2) {
279 istringstream in("9 10\n"
280 "5 5\n"
281 "3 6\n"
282 "6 6\n"
283 "3 9\n"
284 "1 7\n"
285 "5 6\n"
286 "6 8\n"
287 "7 9\n"
288 "4 6\n"
289 "5 9");
290 auto out = ostringstream();
291 acwing2041::main(in, out);
292 const auto ans = out.str();
293 ASSERT_EQ("4", ans);
294 }
295
296 TEST(acwing2041, case3) {
297 istringstream in(
298 "23 100\n8 9\n2 14\n6 12\n13 18\n13 18\n5 17\n10 14\n1 13\n8 12\n17 19\n2 6\n4 19\n16 20\n4 15\n9 9\n13 19\n1 14\n4 17\n16 21\n7 15\n3 14\n7 19\n13 17\n3 8\n7 19\n6 8\n8 23\n5 19\n17 20\n10 20\n9 18\n20 23\n16 23\n7 7\n4 22\n4 23\n19 23\n10 18\n14 16\n2 7\n3 7\n4 18\n20 21\n13 17\n10 13\n5 17\n8 20\n21 22\n14 22\n4 21\n4 18\n4 10\n4 5\n19 20\n6 22\n3 15\n7 9\n3 22\n20 21\n3 12\n3 16\n8 18\n5 12\n9 23\n10 14\n5 10\n3 21\n18 22\n10 15\n2 17\n19 23\n9 12\n2 19\n3 15\n12 14\n3 3\n9 18\n9 22\n7 9\n1 21\n4 15\n2 6\n18 20\n3 17\n4 18\n8 15\n2 15\n9 19\n6 9\n5 21\n2 16\n1 20\n2 20\n13 20");
299 auto out = ostringstream();
300 acwing2041::main(in, out);
301 const auto ans = out.str();
302 ASSERT_EQ("46", ans);
303 }
304
305 namespace acwing2060 {
306 TEST(acwing2060, case1) {
307 istringstream in("6 16\n"
308 "................\n"
309 "..XXXX....XXX...\n"
310 "...XXXX....XX...\n"
311 ".XXXX......XXX..\n"
312 "........XXXXX...\n"
313 ".........XXX....");
314 auto out = ostringstream();
315 acwing2060::main(in, out);
316 const auto ans = out.str();
317 ASSERT_EQ("3", ans);
318 }
319 }// namespace acwing2060
320
321 namespace acwing2019 {
322 TEST(acwing2019, case1) {
323 istringstream in("7 6 3\n"
324 "6 2\n"
325 "5 2\n"
326 "4 3\n"
327 "2 1\n"
328 "7 3\n"
329 "5 4\n"
330 "6 4");
331 auto out = ostringstream();
332 acwing2019::main(in, out);
333 const auto ans = out.str();
334 ASSERT_EQ("1", ans);
335 }
336
337 TEST(acwing2019, case2) {
338 istringstream in("4 2 2\n"
339 "2 1\n"
340 "1 2\n"
341 "2 3\n"
342 "4 2");
343 auto out = ostringstream();
344 acwing2019::main(in, out);
345 const auto ans = out.str();
346 ASSERT_EQ("0", ans);
347 }
348 }// namespace acwing2019
349
350 TEST(acwing611, case1) {
351 istringstream in("12 1 5.30\n"
352 "16 2 5.10");
353 auto out = ostringstream();
354 acwing611::main(in, out);
355 const auto ans = out.str();
356 ASSERT_EQ("VALOR A PAGAR: R$ 15.50", ans);
357 }
358
359 TEST(acwing612, case1) {
360 istringstream in("3");
361 auto out = ostringstream();
362 acwing612::main(in, out);
363 const auto ans = out.str();
364 ASSERT_EQ("VOLUME = 113.097", ans);
365 }
366
367 TEST(acwing2014, case1) {
368 istringstream in("8\n"
369 "3\n"
370 "5\n"
371 "2\n"
372 "3\n"
373 "1\n"
374 "4\n"
375 "2\n"
376 "3");
377 auto out = ostringstream();
378 acwing2014::main(in, out);
379 const auto ans = out.str();
380 ASSERT_EQ("4", ans);
381 }
382
383 TEST(acwing2014, case2) {
384 istringstream in("5\n"
385 "3\n"
386 "2\n"
387 "2\n"
388 "1\n"
389 "3");
390 auto out = ostringstream();
391 acwing2014::main(in, out);
392 const auto ans = out.str();
393 ASSERT_EQ("2", ans);
394 }
395
396 TEST(acwing607, case1) {
397 istringstream in("5.0\n"
398 "6.0\n"
399 "7.0");
400 auto out = ostringstream();
401 acwing607::main(in, out);
402 const auto ans = out.str();
403 ASSERT_EQ("MEDIA = 6.3", ans);
404 }
405
406 TEST(acwing613, case1) {
407 istringstream in("3.0 4.0 5.2");
408 auto out = ostringstream();
409 acwing613::main(in, out);
410 const auto ans = out.str();
411 ASSERT_EQ("TRIANGULO: 7.800\n"
412 "CIRCULO: 84.949\n"
413 "TRAPEZIO: 18.200\n"
414 "QUADRADO: 16.000\n"
415 "RETANGULO: 12.000",
416 ans);
417 }
418
419 TEST(acwing610, case1) {
420 istringstream in("JOAO\n"
421 "500.00\n"
422 "1000.00");
423 auto out = ostringstream();
424 acwing610::main(in, out);
425 const auto ans = out.str();
426 ASSERT_EQ("TOTAL = R$ 650.00", ans);
427 }
428
429 TEST(acwing614, case1) {
430 istringstream in("7 14 106");
431 auto out = ostringstream();
432 acwing614::main(in, out);
433 const auto ans = out.str();
434 ASSERT_EQ("106 eh o maior", ans);
435 }
436
437 TEST(acwing2005, case1) {
438 istringstream in("4\n"
439 "(())\n"
440 "()((\n"
441 "(()(\n"
442 "))))");
443 auto out = ostringstream();
444 acwing2005::main(in, out);
445 const auto ans = out.str();
446 ASSERT_EQ("8", ans);
447 }
448
449 TEST(acwing2005, case2) {
450 istringstream in("5\n"
451 "(((()\n"
452 "())((\n"
453 "(((()\n"
454 ")((((\n"
455 ")))))");
456 auto out = ostringstream();
457 acwing2005::main(in, out);
458 const auto ans = out.str();
459 ASSERT_EQ("10", ans);
460 }
461
462 TEST(acwing617, case1) {
463 istringstream in("30");
464 auto out = ostringstream();
465 acwing617::main(in, out);
466 const auto ans = out.str();
467 ASSERT_EQ("60 minutos", ans);
468 }
469
470 TEST(acwing618, case1) {
471 istringstream in("10\n"
472 "85");
473 auto out = ostringstream();
474 acwing618::main(in, out);
475 const auto ans = out.str();
476 ASSERT_EQ("70.833", ans);
477 }
478
479 TEST(acwing4206, case1) {
480 istringstream in("40047");
481 auto out = ostringstream();
482 acwing4206::main(in, out);
483 const auto ans = out.str();
484 ASSERT_EQ("NO", ans);
485 }
486
487 TEST(acwing4206, case2) {
488 istringstream in("7747774");
489 auto out = ostringstream();
490 acwing4206::main(in, out);
491 const auto ans = out.str();
492 ASSERT_EQ("YES", ans);
493 }
494
495 TEST(acwing4207, case1) {
496 istringstream in("(()))(");
497 auto out = ostringstream();
498 acwing4207::main(in, out);
499 const auto ans = out.str();
500 ASSERT_EQ("4", ans);
501 }
502
503 TEST(acwing4207, case2) {
504 istringstream in("()()(()(((");
505 auto out = ostringstream();
506 acwing4207::main(in, out);
507 const auto ans = out.str();
508 ASSERT_EQ("6", ans);
509 }
510
511 TEST(acwing1996, case1) {
512 istringstream in("4\n"
513 "essieb\n"
514 "a\n"
515 "xzy\n"
516 "elsie");
517 auto out = ostringstream();
518 acwing1996::main(in, out);
519 const auto ans = out.str();
520 ASSERT_EQ("2 3\n"
521 "1 1\n"
522 "4 4\n"
523 "2 3\n",
524 ans);
525 }
526
527 TEST(acwing656, case1) {
528 istringstream in("576.73");
529 auto out = ostringstream();
530 acwing656::main(in, out);
531 const auto ans = out.str();
532 ASSERT_EQ("NOTAS:\n"
533 "5 nota(s) de R$ 100.00\n"
534 "1 nota(s) de R$ 50.00\n"
535 "1 nota(s) de R$ 20.00\n"
536 "0 nota(s) de R$ 10.00\n"
537 "1 nota(s) de R$ 5.00\n"
538 "0 nota(s) de R$ 2.00\n"
539 "MOEDAS:\n"
540 "1 moeda(s) de R$ 1.00\n"
541 "1 moeda(s) de R$ 0.50\n"
542 "0 moeda(s) de R$ 0.25\n"
543 "2 moeda(s) de R$ 0.10\n"
544 "0 moeda(s) de R$ 0.05\n"
545 "3 moeda(s) de R$ 0.01",
546 ans);
547 }
548
549 TEST(acwing655, case1) {
550 istringstream in("400");
551 auto out = ostringstream();
552 acwing655::main(in, out);
553 const auto ans = out.str();
554 ASSERT_EQ("1 ano(s)\n"
555 "1 mes(es)\n"
556 "5 dia(s)",
557 ans);
558 }
559
560 TEST(acwing665, case1) {
561 istringstream in("6 24");
562 auto out = ostringstream();
563 acwing665::main(in, out);
564 const auto ans = out.str();
565 ASSERT_EQ("Sao Multiplos", ans);
566 }
567
568 TEST(acwing657, case1) {
569 istringstream in("5 6 7 8");
570 auto out = ostringstream();
571 acwing657::main(in, out);
572 const auto ans = out.str();
573 ASSERT_EQ("Valores nao aceitos", ans);
574 }
575
576 TEST(acwing1987, case1) {
577 istringstream in("6\n2 R\n6 L\n1 R\n8 L\n1 R\n2 R");
578 auto out = ostringstream();
579 acwing1987::main(in, out);
580 const auto ans = out.str();
581 ASSERT_EQ("6", ans);
582 }
583
584 TEST(acwing660, case1) {
585 istringstream in("3 2");
586 auto out = ostringstream();
587 acwing660::main(in, out);
588 const auto ans = out.str();
589 ASSERT_EQ("Total: R$ 10.00", ans);
590 }
591
592 TEST(acwing671, case1) {
593 istringstream in("11");
594 auto out = ostringstream();
595 acwing671::main(in, out);
596 const auto ans = out.str();
597 ASSERT_EQ("Sao Paulo", ans);
598 }
599
600 namespace acwing1978 {
601 TEST(acwing1978, case1) {
602 istringstream in("4\n-3 4\n7 8\n10 16\n3 9");
603 auto out = ostringstream();
604 acwing1978::main(in, out);
605 const auto ans = out.str();
606 ASSERT_EQ("2", ans);
607 }
608 }// namespace acwing1978
609
610 TEST(acwing659, case1) {
611 istringstream in("25.01");
612 auto out = ostringstream();
613 acwing659::main(in, out);
614 const auto ans = out.str();
615 ASSERT_EQ("Intervalo (25,50]", ans);
616 }
617
618 TEST(acwing662, case1) {
619 istringstream in("4.5 -2.2");
620 auto out = ostringstream();
621 acwing662::main(in, out);
622 const auto ans = out.str();
623 ASSERT_EQ("Q4", ans);
624 }
625
626 TEST(acwing662, case2) {
627 istringstream in("0.0 0.0");
628 auto out = ostringstream();
629 acwing662::main(in, out);
630 const auto ans = out.str();
631 ASSERT_EQ("Origem", ans);
632 }
633
634 TEST(acwing1969, case1) {
635 istringstream in("6 3\n7\n3\n4\n2\n3\n4");
636 auto out = ostringstream();
637 acwing1969::main(in, out);
638 const auto ans = out.str();
639 ASSERT_EQ("4", ans);
640 }
641
642 TEST(acwing664, case1) {
643 istringstream in("6.0 4.0 2.0");
644 auto out = ostringstream();
645 acwing664::main(in, out);
646 const auto ans = out.str();
647 ASSERT_EQ("Area = 10.0", ans);
648 }
649
650 TEST(acwing664, case2) {
651 istringstream in("6.0 4.0 2.1");
652 auto out = ostringstream();
653 acwing664::main(in, out);
654 const auto ans = out.str();
655 ASSERT_EQ("Perimetro = 12.1", ans);
656 }
657
658 TEST(acwing666, case1) {
659 istringstream in("7.0 5.0 7.0");
660 auto out = ostringstream();
661 acwing666::main(in, out);
662 const auto ans = out.str();
663 ASSERT_EQ("TRIANGULO ACUTANGULO\nTRIANGULO ISOSCELES\n", ans);
664 }
665
666 TEST(acwing666, case2) {
667 istringstream in("1.6 9.3 9.9");
668 auto out = ostringstream();
669 acwing666::main(in, out);
670 const auto ans = out.str();
671 ASSERT_EQ("TRIANGULO OBTUSANGULO\n", ans);
672 }
673
674 TEST(acwing1960, case1) {
675 auto sol = acwing1960();
676 istringstream in("5 6\n1\n0\n0\n0\n0");
677 auto out = ostringstream();
678 sol.main(in, out);
679 const auto ans = out.str();
680 ASSERT_EQ("1\n1\n1\n0\n1\n", ans);
681 }
682
683 TEST(acwing1960, case2) {
684 auto sol = acwing1960();
685 istringstream in("11 731657697430757\n1\n1\n0\n0\n1\n0\n1\n1\n0\n1\n0");
686 auto out = ostringstream();
687 sol.main(in, out);
688 const auto ans = out.str();
689 ASSERT_EQ("1\n1\n0\n1\n0\n1\n0\n0\n0\n1\n1\n", ans);
690 }
691
692 TEST(acwing667, case1) {
693 istringstream in("16 2");
694 auto out = ostringstream();
695 acwing667::main(in, out);
696 const auto ans = out.str();
697 ASSERT_EQ("O JOGO DUROU 10 HORA(S)", ans);
698 }
699
700 TEST(acwing667, case2) {
701 istringstream in("0 0");
702 auto out = ostringstream();
703 acwing667::main(in, out);
704 const auto ans = out.str();
705 ASSERT_EQ("O JOGO DUROU 24 HORA(S)", ans);
706 }
707
708 TEST(acwing667, case3) {
709 istringstream in("2 16");
710 auto out = ostringstream();
711 acwing667::main(in, out);
712 const auto ans = out.str();
713 ASSERT_EQ("O JOGO DUROU 14 HORA(S)", ans);
714 }
715
716 TEST(acwing668, case1) {
717 istringstream in("7 8 9 10");
718 auto out = ostringstream();
719 acwing668::main(in, out);
720 const auto ans = out.str();
721 ASSERT_EQ("O JOGO DUROU 2 HORA(S) E 2 MINUTO(S)", ans);
722 }
723
724 TEST(acwing668, case2) {
725 istringstream in("7 7 7 7");
726 auto out = ostringstream();
727 acwing668::main(in, out);
728 const auto ans = out.str();
729 ASSERT_EQ("O JOGO DUROU 24 HORA(S) E 0 MINUTO(S)", ans);
730 }
731
732 TEST(acwing668, case3) {
733 istringstream in("7 10 8 9");
734 auto out = ostringstream();
735 acwing668::main(in, out);
736 const auto ans = out.str();
737 ASSERT_EQ("O JOGO DUROU 0 HORA(S) E 59 MINUTO(S)", ans);
738 }
739
740 TEST(acwing668, case4) {
741 istringstream in("22 36 5 28");
742 auto out = ostringstream();
743 acwing668::main(in, out);
744 const auto ans = out.str();
745 ASSERT_EQ("O JOGO DUROU 6 HORA(S) E 52 MINUTO(S)", ans);
746 }
747
748 TEST(acwing1952, case1) {
749 istringstream in("4 7 9 6\n"
750 "5 8\n"
751 "3 4\n"
752 "13 20\n"
753 "7 10");
754 auto out = ostringstream();
755 acwing1952::main(in, out);
756 const auto ans = out.str();
757 ASSERT_EQ("31", ans);
758 }
759
760 TEST(acwing1952, case2) {
761 istringstream in("25 5 7 3\n3 6\n5 7\n3 5\n2 6\n1 9\n2 7\n0 9\n3 6\n0 6\n2 6\n1 8\n7 9\n0 2\n2 3\n5 7\n2 9\n2 8\n7 9\n3 6\n1 2\n3 9\n1 9\n4 7\n4 8\n0 5");
762 auto out = ostringstream();
763 acwing1952::main(in, out);
764 const auto ans = out.str();
765 ASSERT_EQ("159", ans);
766 }
767
768 TEST(acwing669, case1) {
769 istringstream in("400.00");
770 auto out = ostringstream();
771 acwing669::main(in, out);
772 const auto ans = out.str();
773 ASSERT_EQ("Novo salario: 460.00\n"
774 "Reajuste ganho: 60.00\n"
775 "Em percentual: 15 %",
776 ans);
777 }
778
779 TEST(acwing672, case1) {
780 istringstream in("3002.00");
781 auto out = ostringstream();
782 acwing672::main(in, out);
783 const auto ans = out.str();
784 ASSERT_EQ("R$ 80.36", ans);
785 }
786
787 TEST(acwing672, case2) {
788 istringstream in("1700.00");
789 auto out = ostringstream();
790 acwing672::main(in, out);
791 const auto ans = out.str();
792 ASSERT_EQ("Isento", ans);
793 }
794
795 TEST(acwing1945, case1) {
796 istringstream in("5\n"
797 "3\n"
798 "1\n"
799 "10\n"
800 "7\n"
801 "4");
802 auto out = ostringstream();
803 acwing1945::main(in, out);
804 const auto ans = out.str();
805 ASSERT_EQ("4", ans);
806 }
807
808 TEST(acwing4210, case1) {
809 istringstream in("5");
810 auto out = ostringstream();
811 acwing4210::main(in, out);
812 const auto ans = out.str();
813 ASSERT_EQ("7/3", ans);
814 }
815
816 TEST(acwing4210, case2) {
817 istringstream in("3");
818 auto out = ostringstream();
819 acwing4210::main(in, out);
820 const auto ans = out.str();
821 ASSERT_EQ("2/1", ans);
822 }
823
824 TEST(acwing4211, case1) {
825 istringstream in("6\n4 8 6 3 12 9");
826 auto out = ostringstream();
827 acwing4211::main(in, out);
828 const auto ans = out.str();
829 ASSERT_EQ("9 3 6 12 4 8 ", ans);
830 }
831
832 TEST(acwing4211, case2) {
833 istringstream in("4\n42 28 84 126");
834 auto out = ostringstream();
835 acwing4211::main(in, out);
836 const auto ans = out.str();
837 ASSERT_EQ("126 42 84 28 ", ans);
838 }
839
840 TEST(acwing4211, case3) {
841 istringstream in("2\n1000000000000000000 3000000000000000000");
842 auto out = ostringstream();
843 acwing4211::main(in, out);
844 const auto ans = out.str();
845 ASSERT_EQ("3000000000000000000 1000000000000000000 ", ans);
846 }
847
848 TEST(acwing4211, case4) {
849 istringstream in("2\n1 3");
850 auto out = ostringstream();
851 acwing4211::main(in, out);
852 const auto ans = out.str();
853 ASSERT_EQ("3 1 ", ans);
854 }
855
856 TEST(acwing4211, case5) {
857 istringstream in("19\n46875000000000000 732421875000000 5859375000000000 11444091796875 2929687500000000 187500000000000000 91552734375000 11718750000000000 3000000000000000000 22888183593750 1464843750000000 375000000000000000 45776367187500 183105468750000 93750000000000000 366210937500000 23437500000000000 750000000000000000 1500000000000000000");
858 auto out = ostringstream();
859 acwing4211::main(in, out);
860 const auto ans = out.str();
861 ASSERT_EQ("11444091796875 22888183593750 45776367187500 91552734375000 183105468750000 366210937500000 732421875000000 1464843750000000 2929687500000000 5859375000000000 11718750000000000 23437500000000000 46875000000000000 93750000000000000 187500000000000000 375000000000000000 750000000000000000 1500000000000000000 3000000000000000000 ", ans);
862 }
863
864 TEST(acwing4211, case6) {
865 istringstream in("3\n4 1 2");
866 auto out = ostringstream();
867 acwing4211::main(in, out);
868 const auto ans = out.str();
869 ASSERT_EQ("1 2 4 ", ans);
870 }
871
872 TEST(acwing670, case1) {
873 istringstream in("vertebrado\n"
874 "mamifero\n"
875 "onivoro");
876 auto out = ostringstream();
877 acwing670::main(in, out);
878 const auto ans = out.str();
879 ASSERT_EQ("homem", ans);
880 }
881
882 TEST(acwing633, case1) {
883 istringstream in("7 21 -14");
884 auto out = ostringstream();
885 acwing633::main(in, out);
886 const auto ans = out.str();
887 ASSERT_EQ("-14\n"
888 "7\n"
889 "21\n"
890 "\n"
891 "7\n"
892 "21\n"
893 "-14\n",
894 ans);
895 }
896
897 TEST(acwing1934, case1) {
898 istringstream in("2\n"
899 "T 30\n"
900 "D 10");
901 auto out = ostringstream();
902 acwing1934::main(in, out);
903 const auto ans = out.str();
904 ASSERT_EQ("2970", ans);
905 }
906
907 TEST(acwing658, case1) {
908 istringstream in("10.0 20.1 5.1");
909 auto out = ostringstream();
910 acwing658::main(in, out);
911 const auto ans = out.str();
912 ASSERT_EQ("R1 = -0.29788\nR2 = -1.71212", ans);
913 }
914
915 TEST(acwing658, case2) {
916 istringstream in("0 -77.9 -113.4");
917 auto out = ostringstream();
918 acwing658::main(in, out);
919 const auto ans = out.str();
920 ASSERT_EQ("Impossivel calcular", ans);
921 }
922
923 TEST(acwing661, case1) {
924 istringstream in("2.0 4.0 7.5 8.0 6.4");
925 auto out = ostringstream();
926 acwing661::main(in, out);
927 const auto ans = out.str();
928 ASSERT_EQ("Media: 5.4\nAluno em exame.\nNota do exame: 6.4\nAluno aprovado.\nMedia final: 5.9", ans);
929 }
930
931 TEST(acwing661, case2) {
932 istringstream in("2.0 6.6 4.0 9.0");
933 auto out = ostringstream();
934 acwing661::main(in, out);
935 const auto ans = out.str();
936 ASSERT_EQ("Media: 4.9\nAluno reprovado.", ans);
937 }
938
939 TEST(acwing661, case3) {
940 istringstream in("9.0 4.0 8.5 9.0");
941 auto out = ostringstream();
942 acwing661::main(in, out);
943 const auto ans = out.str();
944 ASSERT_EQ("Media: 7.3\nAluno aprovado.", ans);
945 }
946
947 namespace acwing1929 {
948 TEST(acwing1929, case1) {
949 istringstream in("3 3\n"
950 "/ \\ \\ \n"
951 "\\ \\ \\ \n"
952 "/ \\ / \n");
953 auto out = ostringstream();
954 auto sol = Solution();
955 sol.main(in, out);
956 const auto ans = out.str();
957 ASSERT_EQ("3", ans);
958 }
959 }// namespace acwing1929
960
961 TEST(acwing1922, case1) {
962 istringstream in("4 3\n"
963 "4 7\n"
964 "10 15\n"
965 "2 2\n"
966 "5 1");
967 auto out = ostringstream();
968 acwing1922::main(in, out);
969 const auto ans = out.str();
970 ASSERT_EQ("11", ans);
971 }
972
973 TEST(acwing709, case1) {
974 istringstream in("8");
975 auto out = ostringstream();
976 acwing709::main(in, out);
977 const auto ans = out.str();
978 ASSERT_EQ("1\n"
979 "3\n"
980 "5\n"
981 "7\n",
982 ans);
983 }
984
985 TEST(acwing710, case1) {
986 istringstream in("9");
987 auto out = ostringstream();
988 acwing710::main(in, out);
989 const auto ans = out.str();
990 ASSERT_EQ("9\n"
991 "11\n"
992 "13\n"
993 "15\n"
994 "17\n"
995 "19\n",
996 ans);
997 }
998
999 TEST(acwing1913, case1) {
1000 istringstream in("6\n"
1001 "4 G\n"
1002 "10 H\n"
1003 "7 G\n"
1004 "16 G\n"
1005 "1 G\n"
1006 "3 H");
1007 auto out = ostringstream();
1008 acwing1913::main(in, out);
1009 const auto ans = out.str();
1010 ASSERT_EQ("7", ans);
1011 }
1012
1014 istringstream in("100\n50342471 H\n793701969 H\n479380267 H\n322850570 H\n107220217 H\n702916784 H\n76105122 H\n977859145 H\n462580317 H\n752903482 G\n701677346 H\n745578932 G\n209942747 H\n366001634 G\n8895148 H\n363160307 H\n457268462 H\n844159672 H\n477135559 H\n487370706 H\n30405075 H\n41564405 H\n792279072 H\n133933823 H\n326111206 G\n839613841 H\n43151064 H\n368627305 H\n47356295 H\n464363815 H\n503776239 H\n950452123 H\n130832617 H\n876623576 G\n742326665 G\n268139368 H\n356667923 H\n284180703 G\n667525511 H\n38532381 H\n947453527 H\n413421673 H\n874641452 H\n677533224 H\n51853013 H\n298095972 H\n49952407 H\n227705083 H\n61944314 H\n57828701 H\n928673712 H\n993198658 H\n869295749 H\n654989109 H\n909540105 H\n182685631 H\n871003482 H\n495189220 H\n287340586 G\n245648322 H\n784143807 H\n98298213 H\n256795891 H\n265691040 H\n5864149 H\n813754596 H\n505001848 H\n735361925 G\n714238741 H\n182151278 H\n210462502 H\n784014380 H\n795921403 H\n821818049 H\n156476475 H\n589275076 H\n510524572 H\n915155957 H\n126081087 H\n328904991 G\n832381598 H\n235636871 H\n413682311 H\n924534587 H\n611903263 H\n730110657 G\n361152676 G\n980857199 H\n667364150 H\n518490516 H\n603008114 H\n824407236 H\n698447774 H\n283087973 H\n657933293 H\n801872211 H\n179492344 H\n608950412 H\n593296366 H\n958348686 H\n");
1015 auto out = ostringstream();
1016 acwing1913::main(in, out);
1017 const auto ans = out.str();
1018 ASSERT_EQ("345611436", ans);
1019 }
1020
1022 istringstream in("2\n"
1023 "1 G\n"
1024 "3 H");
1025 auto out = ostringstream();
1026 acwing1913::main(in, out);
1027 const auto ans = out.str();
1028 ASSERT_EQ("2", ans);
1029 }
1030
1031 TEST(acwing712, case1) {
1032 istringstream in("7\n-5\n6\n-3.4\n4.6\n12");
1033 auto out = ostringstream();
1034 acwing712::main(in, out);
1035 const auto ans = out.str();
1036 ASSERT_EQ("4 positive numbers", ans);
1037 }
1038
1039 TEST(acwing711, case1) {
1040 istringstream in("140");
1041 auto out = ostringstream();
1042 acwing711::main(in, out);
1043 const auto ans = out.str();
1044 ASSERT_EQ("1 x 140 = 140\n2 x 140 = 280\n3 x 140 = 420\n4 x 140 = 560\n5 x 140 = 700\n6 x 140 = 840\n7 x 140 = 980\n8 x 140 = 1120\n9 x 140 = 1260\n10 x 140 = 1400\n", ans);
1045 }
1046
1048 istringstream in("5\n0 1\n1 2\n2 3\n3 2\n6 1");
1049 auto out = ostringstream();
1050 acwing1904::main(in, out);
1051 const auto ans = out.str();
1052 ASSERT_EQ("2", ans);
1053 }
1054
1055 TEST(acwing714, case1) {
1056 istringstream in("6\n"
1057 "-5");
1058 auto out = ostringstream();
1059 acwing714::main(in, out);
1060 const auto ans = out.str();
1061 ASSERT_EQ("5", ans);
1062 }
1063
1064 TEST(acwing714, case2) {
1065 istringstream in("15\n"
1066 "12");
1067 auto out = ostringstream();
1068 acwing714::main(in, out);
1069 const auto ans = out.str();
1070 ASSERT_EQ("13", ans);
1071 }
1072
1073 TEST(acwing714, case3) {
1074 istringstream in("12\n"
1075 "12");
1076 auto out = ostringstream();
1077 acwing714::main(in, out);
1078 const auto ans = out.str();
1079 ASSERT_EQ("0", ans);
1080 }
1081
1082 TEST(acwing718, case1) {
1083 istringstream in("10\n"
1084 "10 C\n"
1085 "6 R\n"
1086 "15 F\n"
1087 "5 C\n"
1088 "14 R\n"
1089 "9 C\n"
1090 "6 R\n"
1091 "8 F\n"
1092 "5 C\n"
1093 "14 R");
1094 auto out = ostringstream();
1095 acwing718::main(in, out);
1096 const auto ans = out.str();
1097 ASSERT_EQ("Total: 92 animals\n"
1098 "Total coneys: 29\n"
1099 "Total rats: 40\n"
1100 "Total frogs: 23\n"
1101 "Percentage of coneys: 31.52 %\n"
1102 "Percentage of rats: 43.48 %\n"
1103 "Percentage of frogs: 25.00 %",
1104 ans);
1105 }
1106
1108 istringstream in("6\n"
1109 "COOWWW");
1110 auto out = ostringstream();
1111 acwing1884::main(in, out);
1112 const auto ans = out.str();
1113 ASSERT_EQ("6", ans);
1114 }
1115
1117 istringstream in("aaaa\naaaA");
1118 auto out = ostringstream();
1119 acwing4212::main(in, out);
1120 const auto ans = out.str();
1121 ASSERT_EQ("0", ans);
1122 }
1123
1125 istringstream in("abs\nAbz");
1126 auto out = ostringstream();
1127 acwing4212::main(in, out);
1128 const auto ans = out.str();
1129 ASSERT_EQ("-1", ans);
1130 }
1131
1133 istringstream in("1 1 1 1\n+ + *");
1134 auto out = ostringstream();
1135 acwing4213::main(in, out);
1136 const auto ans = out.str();
1137 ASSERT_EQ("3", ans);
1138 }
1139
1141 istringstream in("2 2 2 2\n* * +");
1142 auto out = ostringstream();
1143 acwing4213::main(in, out);
1144 const auto ans = out.str();
1145 ASSERT_EQ("8", ans);
1146 }
1147
1149 istringstream in("1 2 3 4\n* + +");
1150 auto out = ostringstream();
1151 acwing4213::main(in, out);
1152 const auto ans = out.str();
1153 ASSERT_EQ("9", ans);
1154 }
1155
1157 istringstream in("5\n2 4 5 4 10\n40 30 20 10 40");
1158 auto out = ostringstream();
1159 acwing4214::main(in, out);
1160 const auto ans = out.str();
1161 ASSERT_EQ("90", ans);
1162 }
1163
1165 istringstream in("3\n100 101 100\n2 4 5");
1166 auto out = ostringstream();
1167 acwing4214::main(in, out);
1168 const auto ans = out.str();
1169 ASSERT_EQ("-1", ans);
1170 }
1171
1173 istringstream in("10\n1 2 3 4 5 6 7 8 9 10\n10 13 11 14 15 12 13 13 18 13");
1174 auto out = ostringstream();
1175 acwing4214::main(in, out);
1176 const auto ans = out.str();
1177 ASSERT_EQ("33", ans);
1178 }
1179
1180 TEST(acwing713, case1) {
1181 istringstream in("4\n14\n123\n10\n-25");
1182 auto out = ostringstream();
1183 acwing713::main(in, out);
1184 const auto ans = out.str();
1185 ASSERT_EQ("2 in\n2 out", ans);
1186 }
1187
1188 TEST(acwing721, case1) {
1189 istringstream in("5\n10\n3\n0");
1190 auto out = ostringstream();
1191 acwing721::main(in, out);
1192 const auto ans = out.str();
1193 ASSERT_EQ("1 2 3 4 5 \n1 2 3 4 5 6 7 8 9 10 \n1 2 3 \n", ans);
1194 }
1195
1196 TEST(acwing719, case1) {
1197 istringstream in("7\n4 5\n13 10\n6 4\n3 3\n3 5\n3 4\n3 8");
1198 auto out = ostringstream();
1199 acwing719::main(in, out);
1200 const auto ans = out.str();
1201 ASSERT_EQ("0\n11\n5\n0\n0\n0\n12\n", ans);
1202 }
1203
1205 istringstream in("10\nB 2\nE 5\nS 7\nI 10\nO 16\nM 19\nB 3\nG 1\nI 9\nM 2");
1206 auto out = ostringstream();
1207 acwing1875::main(in, out);
1208 const auto ans = out.str();
1209 ASSERT_EQ("6", ans);
1210 }
1211
1212 TEST(acwing720, case1) {
1213 istringstream in("3 2");
1214 auto out = ostringstream();
1215 acwing720::main(in, out);
1216 const auto ans = out.str();
1217 ASSERT_EQ("7", ans);
1218 }
1219
1220 TEST(acwing720, case2) {
1221 istringstream in("3 -1 0 -2 2");
1222 auto out = ostringstream();
1223 acwing720::main(in, out);
1224 const auto ans = out.str();
1225 ASSERT_EQ("7", ans);
1226 }
1227
1228 TEST(acwing717, case1) {
1229 istringstream in("5");
1230 auto out = ostringstream();
1231 acwing717::main(in, out);
1232 const auto ans = out.str();
1233 ASSERT_EQ("0 1 1 2 3 ", ans);
1234 }
1235
1237 istringstream in("6\n"
1238 "8\n"
1239 "5\n"
1240 "6\n"
1241 "13\n"
1242 "3\n"
1243 "4");
1244 auto out = ostringstream();
1245 acwing1855::main(in, out);
1246 const auto ans = out.str();
1247 ASSERT_EQ("5", ans);
1248 }
1249
1251 istringstream in("10\n"
1252 "2\n"
1253 "3\n"
1254 "11\n"
1255 "10\n"
1256 "8\n"
1257 "5\n"
1258 "0\n"
1259 "12\n"
1260 "4\n"
1261 "6");
1262 auto out = ostringstream();
1263 acwing1855::main(in, out);
1264 const auto ans = out.str();
1265 ASSERT_EQ("10", ans);
1266 }
1267
1268 TEST(acwing724, case1) {
1269 istringstream in("6");
1270 auto out = ostringstream();
1271 acwing724::main(in, out);
1272 const auto ans = out.str();
1273 ASSERT_EQ("1\n"
1274 "2\n"
1275 "3\n"
1276 "6",
1277 ans);
1278 }
1279
1280 TEST(acwing722, case1) {
1281 istringstream in("2 5\n"
1282 "6 3\n"
1283 "5 0");
1284 auto out = ostringstream();
1285 acwing722::main(in, out);
1286 const auto ans = out.str();
1287 ASSERT_EQ("2 3 4 5 Sum=14\n"
1288 "3 4 5 6 Sum=18\n",
1289 ans);
1290 }
1291
1293 istringstream in("5\n"
1294 "4\n"
1295 "7\n"
1296 "8\n"
1297 "6\n"
1298 "4");
1299 auto out = ostringstream();
1300 acwing1843::main(in, out);
1301 const auto ans = out.str();
1302 ASSERT_EQ("48", ans);
1303 }
1304
1305 TEST(acwing723, case1) {
1306 istringstream in("7 4");
1307 auto out = ostringstream();
1308 acwing723::main(in, out);
1309 const auto ans = out.str();
1310 ASSERT_EQ("1 2 3 PUM\n"
1311 "5 6 7 PUM\n"
1312 "9 10 11 PUM\n"
1313 "13 14 15 PUM\n"
1314 "17 18 19 PUM\n"
1315 "21 22 23 PUM\n"
1316 "25 26 27 PUM\n",
1317 ans);
1318 }
1319
1320 TEST(acwing725, case1) {
1321 istringstream in("3\n"
1322 "6\n"
1323 "5\n"
1324 "28");
1325 auto out = ostringstream();
1326 acwing725::main(in, out);
1327 const auto ans = out.str();
1328 ASSERT_EQ("6 is perfect\n"
1329 "5 is not perfect\n"
1330 "28 is perfect\n",
1331 ans);
1332 }
1333
1334 TEST(acwing725, case2) {
1335 istringstream in("1\n"
1336 "28");
1337 auto out = ostringstream();
1338 acwing725::main(in, out);
1339 const auto ans = out.str();
1340 ASSERT_EQ("28 is perfect\n",
1341 ans);
1342 }
1343
1344 namespace acwing1826 {
1346 istringstream in("4\n"
1347 "2 4\n"
1348 "1 1\n"
1349 "5 2\n"
1350 "17 25");
1351 auto out = ostringstream();
1352 acwing1826::main(in, out);
1353 const auto ans = out.str();
1354 ASSERT_EQ("12", ans);
1355 }
1356 }// namespace acwing1826
1357
1359 istringstream in("3\n"
1360 "fox box\n"
1361 "dog cat\n"
1362 "car bus");
1363 auto out = ostringstream();
1364 acwing1813::main(in, out);
1365 const auto ans = out.str();
1366 ASSERT_EQ("2\n2\n2\n1\n0\n1\n1\n0\n0\n0\n0\n0\n0\n0\n2\n0\n0\n1\n1\n1\n1\n0\n0\n1\n0\n0\n", ans);
1367 }
1368
1369 TEST(acwing726, case1) {
1370 istringstream in("3\n"
1371 "8\n"
1372 "51\n"
1373 "7");
1374 auto out = ostringstream();
1375 acwing726::main(in, out);
1376 const auto ans = out.str();
1377 ASSERT_EQ("8 is not prime\n"
1378 "51 is not prime\n"
1379 "7 is prime\n",
1380 ans);
1381 }
1382
1383 TEST(acwing737, case1) {
1384 istringstream in("10\n-9\n0\n-4\n-10\n0\n-2\n-7\n7\n4");
1385 auto out = ostringstream();
1386 acwing737::main(in, out);
1387 const auto ans = out.str();
1388 ASSERT_EQ("X[0] = 10\nX[1] = 1\nX[2] = 1\nX[3] = 1\nX[4] = 1\nX[5] = 1\nX[6] = 1\nX[7] = 1\nX[8] = 7\nX[9] = 4\n", ans);
1389 }
1390
1392 istringstream in("5\n1 2\n2 2\n1 3\n1 1\n3 2");
1393 auto out = ostringstream();
1394 acwing1801::main(in, out);
1395 const auto ans = out.str();
1396 ASSERT_EQ("2", ans);
1397 }
1398
1400 istringstream in("tour");
1401 auto out = ostringstream();
1402 acwing4215::main(in, out);
1403 const auto ans = out.str();
1404 ASSERT_EQ(".t.r", ans);
1405 }
1406
1408 istringstream in("aBAcAba");
1409 auto out = ostringstream();
1410 acwing4215::main(in, out);
1411 const auto ans = out.str();
1412 ASSERT_EQ(".b.c.b", ans);
1413 }
1414
1416 istringstream in("6 6\n6 3\n6 4\n5 1\n2 5\n1 4\n5 4");
1417 auto out = ostringstream();
1418 acwing4216::main(in, out);
1419 const auto ans = out.str();
1420 ASSERT_EQ("YES", ans);
1421 }
1422
1424 istringstream in("6 5\n5 6\n4 6\n3 1\n5 1\n1 2");
1425 auto out = ostringstream();
1426 acwing4216::main(in, out);
1427 const auto ans = out.str();
1428 ASSERT_EQ("NO", ans);
1429 }
1430
1432 istringstream in("5\nRURUU\n-2 3");
1433 auto out = ostringstream();
1434 auto sol = acwing4217();
1435 sol.main(in, out);
1436 const auto ans = out.str();
1437 ASSERT_EQ("3", ans);
1438 }
1439
1441 istringstream in("4\nRULR\n1 1");
1442 auto out = ostringstream();
1443 auto sol = acwing4217();
1444 sol.main(in, out);
1445 const auto ans = out.str();
1446 ASSERT_EQ("0", ans);
1447 }
1448
1450 istringstream in("3\nUUU\n100 100");
1451 auto out = ostringstream();
1452 auto sol = acwing4217();
1453 sol.main(in, out);
1454 const auto ans = out.str();
1455 ASSERT_EQ("-1", ans);
1456 }
1457
1459 istringstream in("100\nURDLDDLLDDLDDDRRLLRRRLULLRRLUDUUDUULURRRDRRLLDRLLUUDLDRDLDDLDLLLULRURRUUDDLDRULRDRUDDDDDDULRDDRLRDDL\n-59 -1");
1460 auto out = ostringstream();
1461 auto sol = acwing4217();
1462 sol.main(in, out);
1463 const auto ans = out.str();
1464 ASSERT_EQ("58", ans);
1465 }
1466
1467 TEST(acwing738, case1) {
1468 istringstream in("1");
1469 auto out = ostringstream();
1470 acwing738::main(in, out);
1471 const auto ans = out.str();
1472 ASSERT_EQ("N[0] = 1\nN[1] = 2\nN[2] = 4\nN[3] = 8\nN[4] = 16\nN[5] = 32\nN[6] = 64\nN[7] = 128\nN[8] = 256\nN[9] = 512\n", ans);
1473 }
1474
1475 TEST(acwing741, case1) {
1476 istringstream in("3\n0\n4\n2");
1477 auto out = ostringstream();
1478 acwing741::main(in, out);
1479 const auto ans = out.str();
1480 ASSERT_EQ("Fib(0) = 0\nFib(4) = 3\nFib(2) = 1\n", ans);
1481 }
1482
1484 istringstream in("ABCCABDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ");
1485 auto out = ostringstream();
1486 acwing1789::main(in, out);
1487 const auto ans = out.str();
1488 ASSERT_EQ("1", ans);
1489 }
1490
1491 TEST(acwing742, case1) {
1492 istringstream in("10\n"
1493 "1 2 3 4 -5 6 7 8 9 10");
1494 auto out = ostringstream();
1495 acwing742::main(in, out);
1496 const auto ans = out.str();
1497 ASSERT_EQ("Minimum value: -5\n"
1498 "Position: 4",
1499 ans);
1500 }
1501
1503 istringstream in("3 8\n"
1504 "AATCCCAT\n"
1505 "GATTGCAA\n"
1506 "GGTCGCAA\n"
1507 "ACTCCCAG\n"
1508 "ACTCGCAT\n"
1509 "ACTTCCAT");
1510 auto out = ostringstream();
1511 acwing1776::main(in, out);
1512 const auto ans = out.str();
1513 ASSERT_EQ("1", ans);
1514 }
1515
1516 TEST(acwing743, case1) {
1517 istringstream in("7\n"
1518 "S\n"
1519 "8.3 -9.4 -5.6 9.9 2.2 3.2 6.9 7.7 -2.9 -6.3 3.9 -1.4\n"
1520 "-0.5 4.3 -0.3 2.3 0.7 -3.1 -6.3 5.7 -7.7 -3.7 9.7 3.8\n"
1521 "5.8 -9.1 3.5 7.0 2.5 -2.3 6.9 2.7 5.8 -4.6 -7.8 4.3\n"
1522 "-1.7 -8.9 -2.6 7.5 -9.6 6.4 -4.7 -8.0 0.6 6.7 -1.8 -0.4\n"
1523 "-9.8 8.9 -3.8 -2.1 5.8 -9.4 1.3 6.3 -1.3 -6.3 -6.6 8.8\n"
1524 "-6.3 -7.2 -6.3 -5.9 6.2 9.3 2.0 -4.3 2.7 3.6 -4.6 8.7\n"
1525 "3.8 7.4 8.7 -2.8 6.0 -9.2 1.9 3.1 -7.2 -6.0 9.7 -8.4\n"
1526 "-9.8 6.6 8.6 2.3 1.1 -2.9 6.6 -1.5 2.1 -5.1 6.4 -7.5\n"
1527 "-0.6 -1.6 9.5 -6.6 3.0 3.4 -7.5 -7.9 3.1 2.0 1.7 -7.6\n"
1528 "-9.0 9.4 6.6 -0.2 1.4 6.5 8.6 2.0 -1.3 0.2 4.0 -2.4\n"
1529 "-7.3 -6.3 -8.6 -7.5 8.5 1.4 -3.3 7.1 0.8 3.3 3.0 0.1\n"
1530 "3.3 9.0 1.7 5.2 -3.7 8.9 3.8 -7.4 -2.8 0.6 -2.4 7.1");
1531 auto out = ostringstream();
1532 acwing743::main(in, out);
1533 const auto ans = out.str();
1534 ASSERT_EQ("6.9", ans);
1535 }
1536
1538 istringstream in("5\n1 3 4 5 2\n1234567 2222222 3333333 4444444 5555555");
1539 auto out = ostringstream();
1540 acwing1762::main(in, out);
1541 const auto ans = out.str();
1542 ASSERT_EQ("1234567\n5555555\n2222222\n3333333\n4444444\n", ans);
1543 }
1544
1546 istringstream in("3\n5 9\n1 4\n3 7");
1547 auto out = ostringstream();
1548 auto sol = acwing1750();
1549 acwing1750::main(in, out);
1550 const auto ans = out.str();
1551 ASSERT_EQ("7", ans);
1552 }
1553
1555 istringstream in("5\n"
1556 "7 1 3 11 4");
1557 auto out = ostringstream();
1558 acwing1738::main(in, out);
1559 const auto ans = out.str();
1560 ASSERT_EQ("2", ans);
1561 }
1562
1564 istringstream in("10\n"
1565 "384 887 778 916 794 336 387 493 650 422");
1566 auto out = ostringstream();
1567 acwing1738::main(in, out);
1568 const auto ans = out.str();
1569 ASSERT_EQ("4", ans);
1570 }
1571
1573 istringstream in("5\n1 3 1 1 4");
1574 auto out = ostringstream();
1575 acwing4297::main(in, out);
1576 const auto ans = out.str();
1577 ASSERT_EQ("5", ans);
1578 }
1579
1581 istringstream in("5\n1 3 2 1 4");
1582 auto out = ostringstream();
1583 acwing4297::main(in, out);
1584 const auto ans = out.str();
1585 ASSERT_EQ("4", ans);
1586 }
1587
1589 istringstream in("3\n4 1 2");
1590 auto out = ostringstream();
1591 acwing4297::main(in, out);
1592 const auto ans = out.str();
1593 ASSERT_EQ("0", ans);
1594 }
1595
1597 istringstream in("1\n2");
1598 auto out = ostringstream();
1599 acwing4297::main(in, out);
1600 const auto ans = out.str();
1601 ASSERT_EQ("0", ans);
1602 }
1603
1605 istringstream in("4\n1 4 6 2\n5\n5 1 5 7 9");
1606 auto out = ostringstream();
1607 auto sol = acwing4298();
1608 sol.main(in, out);
1609 const auto ans = out.str();
1610 ASSERT_EQ("3", ans);
1611 }
1612
1614 istringstream in("4\n1 2 3 4\n4\n10 11 12 13");
1615 auto out = ostringstream();
1616 auto sol = acwing4298();
1617 sol.main(in, out);
1618 const auto ans = out.str();
1619 ASSERT_EQ("0", ans);
1620 }
1621
1623 istringstream in("5\n1 1 1 1 1\n3\n1 2 3");
1624 auto out = ostringstream();
1625 auto sol = acwing4298();
1626 sol.main(in, out);
1627 const auto ans = out.str();
1628 ASSERT_EQ("2", ans);
1629 }
1630
1632 istringstream in("6 3 2\n"
1633 "4 5 6\n"
1634 "5 3\n"
1635 "3 1");
1636 auto out = ostringstream();
1637 acwing1726::main(in, out);
1638 const auto ans = out.str();
1639 ASSERT_EQ("4", ans);
1640 }
1641
1642 TEST(acwing753, case1) {
1643 istringstream in("1\n"
1644 "2\n"
1645 "3\n"
1646 "4\n"
1647 "5\n"
1648 "0");
1649 auto out = ostringstream();
1650 acwing753::main(in, out);
1651 const auto ans = out.str();
1652 ASSERT_EQ("1 \n"
1653 "\n"
1654 "1 1 \n"
1655 "1 1 \n"
1656 "\n"
1657 "1 1 1 \n"
1658 "1 2 1 \n"
1659 "1 1 1 \n"
1660 "\n"
1661 "1 1 1 1 \n"
1662 "1 2 2 1 \n"
1663 "1 2 2 1 \n"
1664 "1 1 1 1 \n"
1665 "\n"
1666 "1 1 1 1 1 \n"
1667 "1 2 2 2 1 \n"
1668 "1 2 3 2 1 \n"
1669 "1 2 2 2 1 \n"
1670 "1 1 1 1 1 \n"
1671 "\n",
1672 ans);
1673 }
1674
1676 istringstream in("3\n"
1677 "4 10 1\n"
1678 "8 13 3\n"
1679 "2 6 2");
1680 auto out = ostringstream();
1681 acwing1715::main(in, out);
1682 const auto ans = out.str();
1683 ASSERT_EQ("4", ans);
1684 }
1685
1686 TEST(acwing756, case1) {
1687 istringstream in("3 3");
1688 auto out = ostringstream();
1689 acwing756::main(in, out);
1690 const auto ans = out.str();
1691 ASSERT_EQ("1 2 3 \n"
1692 "8 9 4 \n"
1693 "7 6 5 \n",
1694 ans);
1695 }
1696
1698 istringstream in("4\n"
1699 "1 2 4 3");
1700 auto out = ostringstream();
1701 acwing1696::main(in, out);
1702 const auto ans = out.str();
1703 ASSERT_EQ("3", ans);
1704 }
1705
1706 TEST(acwing760, case1) {
1707 istringstream in("I love Beijing.");
1708 auto out = ostringstream();
1709 acwing760::main(in, out);
1710 const auto ans = out.str();
1711 ASSERT_EQ("15", ans);
1712 }
1713
1714 TEST(acwing762, case1) {
1715 istringstream in("0.4\n"
1716 "abcde\n"
1717 "xbacd");
1718 auto out = ostringstream();
1719 acwing762::main(in, out);
1720 const auto ans = out.str();
1721 ASSERT_EQ("no", ans);
1722 }
1723
1725 istringstream in("5 6\n"
1726 "4 1\n"
1727 "4 2\n"
1728 "4 3\n"
1729 "2 5\n"
1730 "1 2\n"
1731 "1 5");
1732 auto out = ostringstream();
1733 acwing1684::main(in, out);
1734 const auto ans = out.str();
1735 ASSERT_EQ("12133", ans);
1736 }
1737
1738 TEST(acwing761, case1) {
1739 istringstream in("I am 18 years old this year.");
1740 auto out = ostringstream();
1741 acwing761::main(in, out);
1742 const auto ans = out.str();
1743 ASSERT_EQ("2", ans);
1744 }
1745
1746 TEST(acwing768, case1) {
1747 istringstream in("Hello\nhello");
1748 auto out = ostringstream();
1749 acwing768::main(in, out);
1750 const auto ans = out.str();
1751 ASSERT_EQ("=", ans);
1752 }
1753
1755 istringstream in("3\n1 2\n3 2");
1756 auto out = ostringstream();
1757 acwing1471::main(in, out);
1758 const auto ans = out.str();
1759 ASSERT_EQ("2", ans);
1760 }
1761
1762 TEST(acwing763, case1) {
1763 istringstream in("3\n"
1764 "Hunter Gun\n"
1765 "Bear Bear\n"
1766 "Hunter Bear");
1767 auto out = ostringstream();
1768 acwing763::main(in, out);
1769 const auto ans = out.str();
1770 ASSERT_EQ("Player1\n"
1771 "Tie\n"
1772 "Player2\n",
1773 ans);
1774 }
1775
1776 TEST(acwing766, case1) {
1777 istringstream in("Hello world.This is c language.");
1778 auto out = ostringstream();
1779 acwing766::main(in, out);
1780 const auto ans = out.str();
1781 ASSERT_EQ("Hello world.This is c language.", ans);
1782 }
1783
1785 istringstream in("7\n"
1786 "ABCDABC");
1787 auto out = ostringstream();
1788 acwing1460::main(in, out);
1789 const auto ans = out.str();
1790 ASSERT_EQ("4", ans);
1791 }
1792
1794 istringstream in("3\n1 1\n-1 -1\n2 -1");
1795 auto out = ostringstream();
1796 acwing4299::main(in, out);
1797 const auto ans = out.str();
1798 ASSERT_EQ("Yes", ans);
1799 }
1800
1802 istringstream in("4\n1 1\n2 2\n-1 1\n-2 2");
1803 auto out = ostringstream();
1804 acwing4299::main(in, out);
1805 const auto ans = out.str();
1806 ASSERT_EQ("No", ans);
1807 }
1808
1810 istringstream in("3\n1 2\n2 1\n4 60");
1811 auto out = ostringstream();
1812 acwing4299::main(in, out);
1813 const auto ans = out.str();
1814 ASSERT_EQ("Yes", ans);
1815 }
1816
1818 istringstream in("4 6");
1819 auto out = ostringstream();
1820 acwing4300::main(in, out);
1821 const auto ans = out.str();
1822 ASSERT_EQ("2", ans);
1823 }
1824
1826 istringstream in("10 1");
1827 auto out = ostringstream();
1828 acwing4300::main(in, out);
1829 const auto ans = out.str();
1830 ASSERT_EQ("9", ans);
1831 }
1832
1834 istringstream in("5\n73452");
1835 auto out = ostringstream();
1836 acwing4301::main(in, out);
1837 const auto ans = out.str();
1838 ASSERT_EQ("YES", ans);
1839 }
1840
1842 istringstream in("4\n1248");
1843 auto out = ostringstream();
1844 acwing4301::main(in, out);
1845 const auto ans = out.str();
1846 ASSERT_EQ("NO", ans);
1847 }
1848
1849 TEST(acwing765, case1) {
1850 istringstream in("test case");
1851 auto out = ostringstream();
1852 acwing765::main(in, out);
1853 const auto ans = out.str();
1854 ASSERT_EQ("t e s t c a s e ", ans);
1855 }
1856
1857 TEST(acwing767, case1) {
1858 istringstream in("Hello! How are you!");
1859 auto out = ostringstream();
1860 acwing767::main(in, out);
1861 const auto ans = out.str();
1862 ASSERT_EQ("Ifmmp! Ipx bsf zpv!", ans);
1863 }
1864
1865 TEST(acwing769, case1) {
1866 istringstream in("hello\n"
1867 "l");
1868 auto out = ostringstream();
1869 acwing769::main(in, out);
1870 const auto ans = out.str();
1871 ASSERT_EQ("he##o", ans);
1872 }
1873
1874 TEST(acwing764, case1) {
1875 istringstream in("1 2 3");
1876 auto out = ostringstream();
1877 acwing764::main(in, out);
1878 const auto ans = out.str();
1879 ASSERT_EQ("QRRSd", ans);
1880 }
1881
1883 istringstream in("5\n"
1884 "4 6 7 6");
1885 auto out = ostringstream();
1886 acwing1443::main(in, out);
1887 const auto ans = out.str();
1888 ASSERT_EQ("3 1 5 2 4 ", ans);
1889 }
1890
1891 TEST(acwing773, case1) {
1892 istringstream in("abcab eee\n"
1893 "12343 555");
1894 auto out = ostringstream();
1895 acwing773::main(in, out);
1896 const auto ans = out.str();
1897 ASSERT_EQ("abceeeab\n"
1898 "12345553\n",
1899 ans);
1900 }
1901
1902 TEST(acwing770, case1) {
1903 istringstream in("You want someone to help you\n"
1904 "You\n"
1905 "I");
1906 auto out = ostringstream();
1907 acwing770::main(in, out);
1908 const auto ans = out.str();
1909 ASSERT_EQ("I want someone to help you ", ans);
1910 }
1911
1913 istringstream in("7\n"
1914 "GHHHGHH\n"
1915 "HHGGGHH");
1916 auto out = ostringstream();
1917 acwing1672::main(in, out);
1918 const auto ans = out.str();
1919 ASSERT_EQ("2", ans);
1920 }
1921
1922 TEST(acwing772, case1) {
1923 istringstream in("abceabcd");
1924 auto out = ostringstream();
1925 acwing772::main(in, out);
1926 const auto ans = out.str();
1927 ASSERT_EQ("e", ans);
1928 }
1929
1930 TEST(acwing771, case1) {
1931 istringstream in("2\n"
1932 "aaaaabbbbbcccccccdddddddddd\n"
1933 "abcdefghigk");
1934 auto out = ostringstream();
1935 acwing771::main(in, out);
1936 const auto ans = out.str();
1937 ASSERT_EQ("d 10\n"
1938 "a 1\n",
1939 ans);
1940 }
1941
1942 namespace acwing1660 {
1944 istringstream in("6\n"
1945 "7 1\n"
1946 "1 1\n"
1947 "15 1\n"
1948 "3 1\n"
1949 "10 0\n"
1950 "6 1");
1951 auto out = ostringstream();
1952 acwing1660::main(in, out);
1953 const auto ans = out.str();
1954 ASSERT_EQ("3", ans);
1955 }
1956 }// namespace acwing1660
1957
1958 TEST(acwing774, case1) {
1959 istringstream in("I am a student of Peking University.");
1960 auto out = ostringstream();
1961 acwing774::main(in, out);
1962 const auto ans = out.str();
1963 ASSERT_EQ("University", ans);
1964 }
1965
1966 TEST(acwing775, case1) {
1967 istringstream in("I am a student");
1968 auto out = ostringstream();
1969 acwing775::main(in, out);
1970 const auto ans = out.str();
1971 ASSERT_EQ("student a am I ", ans);
1972 }
1973
1975 istringstream in("4\n"
1976 "1 1 2 3");
1977 auto out = ostringstream();
1978 acwing3347::main(in, out);
1979 const auto ans = out.str();
1980 ASSERT_EQ("6", ans);
1981 }
1982
1983 TEST(acwing777, case1) {
1984 istringstream in("abcd\n"
1985 "aaaa\n"
1986 "ababab\n"
1987 ".");
1988 auto out = ostringstream();
1989 acwing777::main(in, out);
1990 const auto ans = out.str();
1991 ASSERT_EQ("1\n"
1992 "4\n"
1993 "3\n",
1994 ans);
1995 }
1996
1997 TEST(acwing776, case1) {
1998 istringstream in("AABCD CDAA");
1999 auto out = ostringstream();
2000 acwing776::main(in, out);
2001 const auto ans = out.str();
2002 ASSERT_EQ("true", ans);
2003 }
2004
2006 istringstream in("3\n1 -2 0");
2007 auto out = ostringstream();
2008 acwing4302::main(in, out);
2009 const auto ans = out.str();
2010 ASSERT_EQ("3", ans);
2011 }
2012
2014 istringstream in("6\n16 23 16 15 42 8");
2015 auto out = ostringstream();
2016 acwing4302::main(in, out);
2017 const auto ans = out.str();
2018 ASSERT_EQ("120", ans);
2019 }
2020
2022 istringstream in("4\na\nb\nab\nd");
2023 auto out = ostringstream();
2024 acwing4304::main(in, out);
2025 const auto ans = out.str();
2026 ASSERT_EQ("2", ans);
2027 }
2028
2030 istringstream in("3\nab\nbc\nabc");
2031 auto out = ostringstream();
2032 acwing4304::main(in, out);
2033 const auto ans = out.str();
2034 ASSERT_EQ("1", ans);
2035 }
2036
2038 istringstream in("1\nabcdefghijklmn");
2039 auto out = ostringstream();
2040 acwing4304::main(in, out);
2041 const auto ans = out.str();
2042 ASSERT_EQ("1", ans);
2043 }
2044
2045 TEST(acwing778, case1) {
2046 istringstream in("abcd123ab888efghij45ef67kl,ab,ef");
2047 auto out = ostringstream();
2048 acwing778::main(in, out);
2049 const auto ans = out.str();
2050 ASSERT_EQ("18", ans);
2051 }
2052
2053 TEST(acwing778, case2) {
2054 istringstream in("abcde,abc,bcd");
2055 auto out = ostringstream();
2056 acwing778::main(in, out);
2057 const auto ans = out.str();
2058 ASSERT_EQ("-1", ans);
2059 }
2060
2061 TEST(acwing778, case3) {
2062 istringstream in("CdqpUQX2G3Ek0vWfdIPopo0ZiHBaDeWnJWXUFBkHVrKGcld7g85DoKGvixBMYmV6GT4ndhdN2W3EknSm5LqEgN26GF96eB8s73Ek,Sm5LqEg,3Ek");
2063 auto out = ostringstream();
2064 acwing778::main(in, out);
2065 const auto ans = out.str();
2066 ASSERT_EQ("12", ans);
2067 }
2068
2069 TEST(acwing778, case4) {
2070 istringstream in("KOqRYKCcGkTnagtoeR14B2GSO3CStZUslISdqepllSeAfjVfVHqF8sRzaeV3r2LeQnQpu9MbYY1090oHlfobNzk5vTkLaV6qEDmMLlPUFlZuXnvB04UXTRUrLozeT5RYPZl43EdOwr7wYhFh3VJsDhn0B5D1IGkwzeADgPlJROu7MmRj0vqCBlWBnSZj5L6G7jRF6pTkZaswE7emZRRLXMRmSNxbHFlSfipL6biuSk6Lw0UeYGFuKZs8QDLzBrBYwNqbZyAlki45tufXWLift7Z9IqKfcVYspARBIMAv0OX8,LozeT5RYP,lP,Sm5LqEg,3Ek");
2071 auto out = ostringstream();
2072 acwing778::main(in, out);
2073 const auto ans = out.str();
2074 ASSERT_EQ("-1", ans);
2075 }
2076
2077 TEST(acwing779, case1) {
2078 istringstream in("3\nbaba\naba\ncba\n2\naa\ncc\n2\naa\na\n0");
2079 auto out = ostringstream();
2080 acwing779::main(in, out);
2081 const auto ans = out.str();
2082 ASSERT_EQ("ba\n\na\n", ans);
2083 }
2084
2085 TEST(acwing779, case2) {
2086 istringstream in("30\nnEoEScu\nZaeeACDJMPeugIe\npKTHmh\nkgSkIDuCqsEVpfWRgCkqFJLCJlqa\nOpd\nclMNzGWsFmLUdEjcIArnKnoZefM\ndNQtHCvZBvYuvxvBpZcuzYTKHjoqfi\njaKFnCmLSKv\ntwcakyTMLKdcJchpAf\nA\nnmafrdXuv\nLDJqRlEPZIXYeXXmHGXIaIkyLGxQ\nNGcGolaHClIEIPHsCDXaLOnmTUN\nqTQsxRcoZCmtZEIWSRYhur\nrykHNbbz\nseUPknypePTBHWSpMEXVyvquGTBtl\nlIRLLXRSYoSqCYeDcm\nb\nOAaRrcHFeoiRMkPraTBvqnVuqLsdY\nYyE\nMuyRhuWDdKqUdye\nlCvXQCbksXpkiKjiNK\nquItljpXxNZJs\nuYyzRLGDMUxzF\nDtYH\nUtCNQdnVhyCCUXBNFKgAvopmUH\nJvFbR\nDYrs\nxyHO\nv\n30\nrVygjuehTDCpUAXsbfphOmGYFL\nQPICAWIMDYFL\nsoDChYFL\nYIekoOFOZNjEEMYFL\nhNkyveMOoCmTZjPBIXiAnxDyfaYFL\nAVyriYTqOzYifQHfFumCFIAYFL\nDJYFL\nZJCDXYFL\nmzpfPMZeDwFoCCdCCpBpNcCYFL\nyIfnWzqfnnLmKesrJdtZZhBvOYYYFL\nsTArOZYFL\nmviuiCGDWxSjvrmRJzLIjNZeWFYFL\nrMCDDIYFL\nECrYFL\nqMZnaycgcDSYFL\nyysGWCYFL\nLawdLVBtSGYzBPVHyEBYFL\njYFL\nLAshGRGiKGuWONTRlKIYFL\nOaOwBeLgJTuXwIGRxMJYmowYFL\noaqOXEQeXEHXSovxQPoBkuTOGOYFL\nPlheYFL\nzpjaulbZXnTPQNckLlgvGIwiiswYFL\nRRUcMWVqlodYFL\nBXyJZXBKMOYFL\nbZivyYFL\nbUzMJcPNNDZhxaJeUmYFL\nnqNNoChHurWqWvQYFL\nLYFL\nzuoFKmVhTgyJljmuZcvkuomYFL\n30\nxEVZD\nfRVZD\ndmQEISVZD\nxHXbvTDrfORRzSHzGpAvybwMLVZD\nvUWDBiunOnyOchFlofVZD\nTDfoUHwJozMFChjjHKJVZD\ncHHYVZD\ncUBbkwaNAeTVZD\nFIuKsscZVvFtQktHkRBrHXVZD\nxLtWSUDVZD\nNIuxqauDaGCtcTkRxCgYAVZD\nkccsRWBfjvaaQJJoSnSrojerpPVZD\ndGIqkKGVZD\nZdFFnBVZD\nWxpyqMqVzeUiVZD\ntRcJlVZD\nYeCcIAHpNNDmvcwfQKVOWHcVZD\nQpNjpVXDrnAdYfVZD\nTKPBPkXcKPxzqyWZyUMlidOrxeVZD\nTVZD\nqFmmojqFRgxHQlEPWJaVZD\nyYwSyfXCJMYImSPaWbrOICSVZD\nJsVZD\notxyOTdyWVZD\nhlGzZrNatBVZD\npaKqVStOuxVZD\nsWQcmVZD\nJQCOynpNzexVZD\nMPzHWsTJEWgZZLoGSDCVZD\nLVZD\n30\nbWXjqUDxQtqWrTs\nhLOaWKvGApgoZfEIgyMvLCKTs\nstdgCWunkATs\nlaaKwHVnTs\nTTs\nOVVEcqRoGEinsIEoszUTs\nLTwzYpsPJVQTyHCKIqmCLNdkTs\nxjZOBXSTs\nljPbiauxwdayAdARChbTs\nPwpUxAnHCZXhSJwTs\nmxiCOoiiTs\nxtemzqhoYUVSHVbIPmTs\newvKtcpjralBkxnPPtTs\nMKzjTs\nJmLzHqNBbCslRqwBXWnygYwPOTTs\nqqWtjigdASztibHjzdedNsqTs\nBlXPWKiTs\nEisQTs\nvnOMHcFuxqCEsGTs\nIlnIBHZxHdqAiaTs\nzpegvMdYpFnSIoFTs\nEPIHFxOaUBBbrfEodOITs\nGOAimQOTs\nMlTs\ntoRynPMxSklAfxzTs\neLTs\nauEDlTlGFEkBTs\nQkKwiXugeRdWPGMPTs\ngaTs\nprtfvmLKTGjbPSTs\n0");
2087 auto out = ostringstream();
2088 acwing779::main(in, out);
2089 const auto ans = out.str();
2090 ASSERT_EQ("\nYFL\nVZD\nTs\n", ans);
2091 }
2092
2093 TEST(acwing804, case1) {
2094 istringstream in("3");
2095 auto out = ostringstream();
2096 acwing804::main(in, out);
2097 const auto ans = out.str();
2098 ASSERT_EQ("6", ans);
2099 }
2100
2101 TEST(acwing810, case1) {
2102 istringstream in("-3");
2103 auto out = ostringstream();
2104 acwing810::main(in, out);
2105 const auto ans = out.str();
2106 ASSERT_EQ("3", ans);
2107 }
2108
2109 TEST(acwing805, case1) {
2110 istringstream in("3 6");
2111 auto out = ostringstream();
2112 acwing805::main(in, out);
2113 const auto ans = out.str();
2114 ASSERT_EQ("6", ans);
2115 }
2116
2117 TEST(acwing806, case1) {
2118 istringstream in("1.11 2.22");
2119 auto out = ostringstream();
2120 acwing806::main(in, out);
2121 const auto ans = out.str();
2122 ASSERT_EQ("3.33", ans);
2123 }
2124
2125 TEST(acwing808, case1) {
2126 istringstream in("12 16");
2127 auto out = ostringstream();
2128 acwing808::main(in, out);
2129 const auto ans = out.str();
2130 ASSERT_EQ("4", ans);
2131 }
2132
2133 TEST(acwing807, case1) {
2134 istringstream in("3 5");
2135 auto out = ostringstream();
2136 acwing807::main(in, out);
2137 const auto ans = out.str();
2138 ASSERT_EQ("12", ans);
2139 }
2140
2141 TEST(acwing811, case1) {
2142 istringstream in("3 5");
2143 auto out = ostringstream();
2144 acwing811::main(in, out);
2145 const auto ans = out.str();
2146 ASSERT_EQ("5 3", ans);
2147 }
2148
2149 TEST(acwing809, case1) {
2150 istringstream in("6 8");
2151 auto out = ostringstream();
2152 acwing809::main(in, out);
2153 const auto ans = out.str();
2154 ASSERT_EQ("24", ans);
2155 }
2156
2157 TEST(acwing812, case1) {
2158 istringstream in("5 3\n"
2159 "1 2 3 4 5");
2160 auto out = ostringstream();
2161 acwing812::main(in, out);
2162 const auto ans = out.str();
2163 ASSERT_EQ("1 2 3 ", ans);
2164 }
2165
2166 TEST(acwing814, case1) {
2167 istringstream in("3 5 2\n"
2168 "1 2 3\n"
2169 "4 5 6 7 8");
2170 auto out = ostringstream();
2171 acwing814::main(in, out);
2172 const auto ans = out.str();
2173 ASSERT_EQ("1 2 6 7 8 ", ans);
2174 }
2175
2176 TEST(acwing813, case1) {
2177 istringstream in("3 4\n"
2178 "1 3 4 5\n"
2179 "2 6 9 4\n"
2180 "1 4 7 5");
2181 auto out = ostringstream();
2182 acwing813::main(in, out);
2183 const auto ans = out.str();
2184 ASSERT_EQ("1 3 4 5 \n"
2185 "2 6 9 4 \n"
2186 "1 4 7 5 \n",
2187 ans);
2188 }
2189
2190 TEST(acwing815, case1) {
2191 istringstream in("I love AcWing.");
2192 auto out = ostringstream();
2193 acwing815::main(in, out);
2194 const auto ans = out.str();
2195 ASSERT_EQ("I love AcWing.", ans);
2196 }
2197
2199 istringstream in("8");
2200 auto out = ostringstream();
2201 acwing4305::main(in, out);
2202 const auto ans = out.str();
2203 ASSERT_EQ("OOOoOooO", ans);
2204 }
2205
2207 istringstream in("15");
2208 auto out = ostringstream();
2209 acwing4305::main(in, out);
2210 const auto ans = out.str();
2211 ASSERT_EQ("OOOoOooOooooOoo", ans);
2212 }
2213
2215 istringstream in("4\n1 3 1 4");
2216 auto out = ostringstream();
2217 acwing4306::main(in, out);
2218 const auto ans = out.str();
2219 ASSERT_EQ("1", ans);
2220 }
2221
2223 istringstream in("5\n1 2 3 2 5");
2224 auto out = ostringstream();
2225 acwing4306::main(in, out);
2226 const auto ans = out.str();
2227 ASSERT_EQ("2", ans);
2228 }
2229
2231 istringstream in("123\n222");
2232 auto out = ostringstream();
2233 acwing4307::main(in, out);
2234 const auto ans = out.str();
2235 ASSERT_EQ("213", ans);
2236 }
2237
2239 istringstream in("3921\n10000");
2240 auto out = ostringstream();
2241 acwing4307::main(in, out);
2242 const auto ans = out.str();
2243 ASSERT_EQ("9321", ans);
2244 }
2245
2247 istringstream in("4940\n5000");
2248 auto out = ostringstream();
2249 acwing4307::main(in, out);
2250 const auto ans = out.str();
2251 ASSERT_EQ("4940", ans);
2252 }
2253
2255 istringstream in("15778899\n98715689");
2256 auto out = ostringstream();
2257 acwing4307::main(in, out);
2258 const auto ans = out.str();
2259 ASSERT_EQ("98598771", ans);
2260 }
2261
2262 TEST(acwing819, case1) {
2263 istringstream in("3");
2264 auto out = ostringstream();
2265 acwing819::main(in, out);
2266 const auto ans = out.str();
2267 ASSERT_EQ("6", ans);
2268 }
2269
2270 TEST(acwing816, case1) {
2271 istringstream in("5 3\n1 2 3 4 5");
2272 auto out = ostringstream();
2273 acwing816::main(in, out);
2274 const auto ans = out.str();
2275 ASSERT_EQ("3 2 1 4 5 ", ans);
2276 }
2277
2278 TEST(acwing820, case1) {
2279 istringstream in("4");
2280 auto out = ostringstream();
2281 acwing820::main(in, out);
2282 const auto ans = out.str();
2283 ASSERT_EQ("3", ans);
2284 }
2285
2286 TEST(acwing817, case1) {
2287 istringstream in("5\n"
2288 "1 1 2 4 5");
2289 auto out = ostringstream();
2290 acwing817::main(in, out);
2291 const auto ans = out.str();
2292 ASSERT_EQ("4", ans);
2293 }
2294
2295 TEST(acwing818, case1) {
2296 istringstream in("5 2 4\n"
2297 "4 5 1 3 2");
2298 auto out = ostringstream();
2299 acwing818::main(in, out);
2300 const auto ans = out.str();
2301 ASSERT_EQ("4 5 1 2 3 ", ans);
2302 }
2303
2304 TEST(acwing821, case1) {
2305 istringstream in("5");
2306 auto out = ostringstream();
2307 acwing821::main(in, out);
2308 const auto ans = out.str();
2309 ASSERT_EQ("8", ans);
2310 }
2311
2312 TEST(acwing822, case1) {
2313 istringstream in("2 3");
2314 auto out = ostringstream();
2315 acwing822::main(in, out);
2316 const auto ans = out.str();
2317 ASSERT_EQ("10", ans);
2318 }
2319
2320 TEST(acwing823, case1) {
2321 istringstream in("3");
2322 auto out = ostringstream();
2323 acwing823::main(in, out);
2324 const auto ans = out.str();
2325 ASSERT_EQ("1 2 3 \n"
2326 "1 3 2 \n"
2327 "2 1 3 \n"
2328 "2 3 1 \n"
2329 "3 1 2 \n"
2330 "3 2 1 \n",
2331 ans);
2332 }
2333
2334 namespace acwing21 {
2335 TEST(acwing21, case1) {
2336 ASSERT_EQ(5, Solution::Fibonacci(5));
2337 }
2338 }// namespace acwing21
2339
2340 namespace acwing78 {
2341 TEST(acwing78, case1) {
2342 ASSERT_EQ("cdefgab", Solution::leftRotateString("abcdefg", 2));
2343 }
2344 }// namespace acwing78
2345
2346 namespace acwing16 {
2347 TEST(acwing16, case1) {
2348 string input = "We are happy.";
2349 ASSERT_EQ("We%20are%20happy.", Solution::replaceSpaces(input));
2350 }
2351 }// namespace acwing16
2352
2353 namespace acwing87 {
2354 TEST(acwing87, case1) {
2355 ASSERT_EQ(123, Solution::strToInt("123"));
2356 }
2357 }// namespace acwing87
2358
2360 istringstream in("happy birthday");
2361 auto out = ostringstream();
2362 acwing4308::main(in, out);
2363 const auto ans = out.str();
2364 ASSERT_EQ("hab", ans);
2365 }
2366
2368 istringstream in("abc defg");
2369 auto out = ostringstream();
2370 acwing4308::main(in, out);
2371 const auto ans = out.str();
2372 ASSERT_EQ("abcd", ans);
2373 }
2374
2376 istringstream in("4 0 0\n1 1\n2 2\n2 0\n-1 -1");
2377 auto out = ostringstream();
2378 acwing4309::main(in, out);
2379 const auto ans = out.str();
2380 ASSERT_EQ("2", ans);
2381 }
2382
2384 istringstream in("2 1 2\n1 1\n1 0");
2385 auto out = ostringstream();
2386 acwing4309::main(in, out);
2387 const auto ans = out.str();
2388 ASSERT_EQ("1", ans);
2389 }
2390
2391 namespace acwing4310 {
2393 istringstream in("9 6\n1 1 1 3 5 3 5 7\n3 1\n1 5\n3 4\n7 3\n1 8\n1 9");
2394 auto out = ostringstream();
2395 auto sol = acwing4310();
2396 sol.main(in, out);
2397 const auto ans = out.str();
2398 ASSERT_EQ("3\n6\n8\n-1\n9\n4\n", ans);
2399 }
2400 }// namespace acwing4310
2401
2402 namespace acwing84 {
2403 TEST(acwing84, case1) {
2404 ASSERT_EQ(55, Solution::getSum(10));
2405 }
2406 }// namespace acwing84
2407
2408 namespace acwing67 {
2409 TEST(acwing67, case1) {
2410 vector input = {1, 2, 3, 3, 3, 3, 4, 5};
2411 ASSERT_EQ(4, Solution::getNumberOfK(input, 3));
2412 }
2413 }// namespace acwing67
2414
2415 namespace acwing53 {
2416 TEST(acwing53, case1) {
2417 const vector input = {1, 2, 3, 4, 5, 6, 7, 8};
2418 const vector output = {1, 2, 3, 4};
2419 ASSERT_EQ(output, Solution::getLeastNumbers_Solution(input, 4));
2420 }
2421 }// namespace acwing53
2422
2423 namespace acwing68 {
2424 TEST(acwing68, case1) {
2425 vector input = {0, 1, 2, 4};
2426 ASSERT_EQ(3, Solution::getMissingNumber(input));
2427 }
2428 }// namespace acwing68
2429
2430 namespace acwing75 {
2431 TEST(acwing75, case1) {
2432 vector input = {1, 2, 3, 4};
2433 const vector output = {3, 4};
2434 ASSERT_EQ(output, Solution::findNumbersWithSum(input, 7));
2435 }
2436 }// namespace acwing75
2437
2438 namespace acwing51 {
2439 TEST(acwing51, case1) {
2440 vector input = {1, 2, 3};
2441 const vector<vector<int>> output = {{1, 2, 3},
2442 {1, 3, 2},
2443 {2, 1, 3},
2444 {2, 3, 1},
2445 {3, 1, 2},
2446 {3, 2, 1}};
2447 ASSERT_EQ(output, Solution::permutation(input));
2448 }
2449 }// namespace acwing51
2450
2451 namespace acwing26 {
2452 TEST(acwing26, case1) {
2453 ASSERT_EQ(2, Solution::NumberOf1(9));
2454 }
2455
2456 TEST(acwing26, case2) {
2457 ASSERT_EQ(31, Solution::NumberOf1(-2));
2458 }
2459 }// namespace acwing26
2460
2461 TEST(acwing862, case1) {
2462 istringstream in("5\n"
2463 "32 1.36 nsyiupnnhc\n"
2464 "18 4.53 fmofzwrah\n"
2465 "33 4.86 wzuymbm\n"
2466 "1 3.93 gtnrwcebt\n"
2467 "31 4.53 gcllxioc");
2468 auto out = ostringstream();
2469 acwing862::main(in, out);
2470 const auto ans = out.str();
2471 ASSERT_EQ("1 3.93 gtnrwcebt\n"
2472 "18 4.53 fmofzwrah\n"
2473 "31 4.53 gcllxioc\n"
2474 "32 1.36 nsyiupnnhc\n"
2475 "33 4.86 wzuymbm\n",
2476 ans);
2477 }
2478
2480 istringstream in("15 2 3\abacabadabacaba\nba\n1 15\n3 4\n2 14");
2481 auto out = ostringstream();
2482 acwing3412::main(in, out);
2483 const auto ans = out.str();
2484 ASSERT_EQ("4\n0\n3\n", ans);
2485 }
2486
2488 istringstream in("3 5 2\naaa\nbaaab\n1 3\n1 1");
2489 auto out = ostringstream();
2490 acwing3412::main(in, out);
2491 const auto ans = out.str();
2492 ASSERT_EQ("0\n0\n", ans);
2493 }
2494
2496 istringstream in("3 1 1\naaa\na\n1 2");
2497 auto out = ostringstream();
2498 acwing3412::main(in, out);
2499 const auto ans = out.str();
2500 ASSERT_EQ("2\n", ans);
2501 }
2502
2504 istringstream in("2 2 11 4 9 7 9\n");
2505 auto out = ostringstream();
2506 acwing3346::main(in, out);
2507 const auto ans = out.str();
2508 ASSERT_EQ("2 2 7", ans);
2509 }
2510
2511 namespace acwing3358 {
2513 istringstream in("abcdefghijklmnopqrstuvwxyz\n"
2514 "mood");
2515 auto out = ostringstream();
2516 main(in, out);
2517 const auto ans = out.str();
2518 ASSERT_EQ("3", ans);
2519 }
2520 }// namespace acwing3358
2521
2522 namespace acwing3370 {
2524 istringstream in("4\n"
2525 "Mildred born in previous Dragon year from Bessie\n"
2526 "Gretta born in previous Monkey year from Mildred\n"
2527 "Elsie born in next Ox year from Gretta\n"
2528 "Paulina born in next Dog year from Bessie");
2529 auto out = ostringstream();
2530 main(in, out);
2531 const auto ans = out.str();
2532 ASSERT_EQ("12", ans);
2533 }
2534
2536 istringstream in("10\n"
2537 "Aa born in previous Dog year from Bessie\n"
2538 "Ab born in next Monkey year from Aa\n"
2539 "Ac born in previous Dog year from Bessie\n"
2540 "Ad born in next Monkey year from Ab\n"
2541 "Ae born in next Rat year from Ad\n"
2542 "Af born in next Goat year from Bessie\n"
2543 "Ag born in next Rat year from Ab\n"
2544 "Ah born in next Dog year from Ag\n"
2545 "Elsie born in previous Rabbit year from Ah\n"
2546 "Aj born in previous Monkey year from Ag");
2547 auto out = ostringstream();
2548 main(in, out);
2549 const auto ans = out.str();
2550 ASSERT_EQ("14", ans);
2551 }
2552 }// namespace acwing3370
2553
2554 namespace acwing3745 {
2556 istringstream in("4 0\n"
2557 "1 100 2 3");
2558 auto out = ostringstream();
2559 main(in, out);
2560 const auto ans = out.str();
2561 ASSERT_EQ("2", ans);
2562 }
2563
2565 istringstream in("4 1\n"
2566 "1 100 2 3");
2567 auto out = ostringstream();
2568 main(in, out);
2569 const auto ans = out.str();
2570 ASSERT_EQ("3", ans);
2571 }
2572
2574 istringstream in("1 1\n"
2575 "0");
2576 auto out = ostringstream();
2577 main(in, out);
2578 const auto ans = out.str();
2579 ASSERT_EQ("1", ans);
2580 }
2581
2583 istringstream in("10 9\n"
2584 "9 9 10 9 9 9 9 9 9 9");
2585 auto out = ostringstream();
2586 main(in, out);
2587 const auto ans = out.str();
2588 ASSERT_EQ("10", ans);
2589 }
2590
2592 istringstream in("2 1\n"
2593 "1 1");
2594 auto out = ostringstream();
2595 main(in, out);
2596 const auto ans = out.str();
2597 ASSERT_EQ("1", ans);
2598 }
2599
2601 ostringstream oss;
2602 oss << 1000 << ' ' << 1000 << endl;
2603 for(int i = 0; i < 999; i++) {
2604 oss << 999 << ' ';
2605 }
2606 oss << 998;
2607 istringstream in(oss.str());
2608 auto out = ostringstream();
2609 main(in, out);
2610 const auto ans = out.str();
2611 ASSERT_EQ("999", ans);
2612 }
2613
2615 istringstream in("10 10\n"
2616 "0 0 0 0 0 0 0 0 0 0");
2617 auto out = ostringstream();
2618 main(in, out);
2619 const auto ans = out.str();
2620 ASSERT_EQ("1", ans);
2621 }
2622
2624 istringstream in("100 11\n"
2625 "50 54 50 50 50 50 50 50 50 54 50 50 50 50 51 52 54 50 50 50 50 50 50 54 52 50 52 50 50 53 52 50 51 50 50 50 50 50 51 50 52 50 50 53 50 54 50 50 50 54 53 54 50 53 50 50 54 50 50 52 51 50 52 50 51 51 50 50 53 52 52 50 50 50 50 50 50 50 53 51 50 50 50 53 50 50 54 53 50 51 50 53 52 51 50 50 53 50 51 54");
2626 auto out = ostringstream();
2627 main(in, out);
2628 const auto ans = out.str();
2629 ASSERT_EQ("51", ans);
2630 }
2631 }// namespace acwing3745
2632
2633 namespace acwing1459 {
2635 istringstream in("3 4\n"
2636 "4 1 2 3\n"
2637 "4 1 3 2\n"
2638 "4 2 1 3");
2639 auto out = ostringstream();
2640 main(in, out);
2641 const auto ans = out.str();
2642 ASSERT_EQ("4", ans);
2643 }
2644 }// namespace acwing1459
2645
2646 namespace acwing1442 {
2648 istringstream in("10 7\n"
2649 "hello my name is Bessie and this is my essay");
2650 auto out = ostringstream();
2651 main(in, out);
2652 const auto ans = out.str();
2653 ASSERT_EQ("hello my\n"
2654 "name is\n"
2655 "Bessie\n"
2656 "and this\n"
2657 "is my\n"
2658 "essay",
2659 ans);
2660 }
2661 }// namespace acwing1442
2662
2663 namespace acwing4314 {
2665 istringstream in("6");
2666 auto out = ostringstream();
2667 main(in, out);
2668 const auto ans = out.str();
2669 ASSERT_EQ("1", ans);
2670 }
2671
2673 istringstream in("10");
2674 auto out = ostringstream();
2675 main(in, out);
2676 const auto ans = out.str();
2677 ASSERT_EQ("2", ans);
2678 }
2679 }// namespace acwing4314
2680
2681 namespace acwing4315 {
2683 istringstream in("2 8 4 4");
2684 auto out = ostringstream();
2685 main(in, out);
2686 const auto ans = out.str();
2687 ASSERT_EQ("3 3 ", ans);
2688 }
2689
2691 istringstream in("1 3 5");
2692 auto out = ostringstream();
2693 main(in, out);
2694 const auto ans = out.str();
2695 ASSERT_EQ("4 ", ans);
2696 }
2697
2699 istringstream in("2 3 2 3");
2700 auto out = ostringstream();
2701 main(in, out);
2702 const auto ans = out.str();
2703 ASSERT_EQ("0 1 ", ans);
2704 }
2705 }// namespace acwing4315
2706
2707 namespace acwing1671 {
2709 istringstream in("4\n"
2710 "0 0\n"
2711 "0 1\n"
2712 "1 0\n"
2713 "1 2");
2714 auto out = ostringstream();
2715 main(in, out);
2716 const auto ans = out.str();
2717 ASSERT_EQ("2", ans);
2718 }
2719 }// namespace acwing1671
2720
2721 namespace acwing1659 {
2723 istringstream in("14\n10001001000010");
2724 auto out = ostringstream();
2725 main(in, out);
2726 const auto ans = out.str();
2727 ASSERT_EQ("2", ans);
2728 }
2729 }// namespace acwing1659
2730
2731 namespace acwing1714 {
2733 istringstream in("10 3\n"
2734 "11 4\n"
2735 "12 5");
2736 auto out = ostringstream();
2737 main(in, out);
2738 const auto ans = out.str();
2739 ASSERT_EQ("0\n"
2740 "10\n"
2741 "2\n",
2742 ans);
2743 }
2744 }// namespace acwing1714
2745
2746 namespace acwing1695 {
2748 istringstream in("3\n"
2749 "1 2 1\n"
2750 "3 2 1\n"
2751 "1 3 1");
2752 auto out = ostringstream();
2753 main(in, out);
2754 const auto ans = out.str();
2755 ASSERT_EQ("2", ans);
2756 }
2757 }// namespace acwing1695
2758
2759 namespace acwing1683 {
2761 istringstream in("4 7 9");
2762 auto out = ostringstream();
2763 main(in, out);
2764 const auto ans = out.str();
2765 ASSERT_EQ("1\n"
2766 "2",
2767 ans);
2768 }
2769 }// namespace acwing1683
2770
2771 namespace acwing4318 {
2773 istringstream in("LLUUUR");
2774 auto out = ostringstream();
2775 main(in, out);
2776 const auto ans = out.str();
2777 ASSERT_EQ("YES", ans);
2778 }
2779
2781 istringstream in("RRUULLDD");
2782 auto out = ostringstream();
2783 main(in, out);
2784 const auto ans = out.str();
2785 ASSERT_EQ("NO", ans);
2786 }
2787 }// namespace acwing4318
2788
2789 namespace acwing4319 {
2791 istringstream in("6 3\n1 3 9 8 24 1");
2792 auto out = ostringstream();
2793 main(in, out);
2794 const auto ans = out.str();
2795 ASSERT_EQ("5", ans);
2796 }
2797 }// namespace acwing4319
2798
2799 namespace acwing1470 {
2801 istringstream in("..........\n"
2802 "..........\n"
2803 "..........\n"
2804 "..B.......\n"
2805 "..........\n"
2806 ".....R....\n"
2807 "..........\n"
2808 "..........\n"
2809 ".....L....\n"
2810 "..........");
2811 auto out = ostringstream();
2812 main(in, out);
2813 const auto ans = out.str();
2814 ASSERT_EQ("7", ans);
2815 }
2816 }// namespace acwing1470
2817
2818 namespace acwing1761 {
2820 istringstream in("1 2 3 5\n"
2821 "6 0 10 4\n"
2822 "2 1 8 3");
2823 auto out = ostringstream();
2824 main(in, out);
2825 const auto ans = out.str();
2826 ASSERT_EQ("17", ans);
2827 }
2828 }// namespace acwing1761
2829
2830 namespace acwing1749 {
2832 istringstream in("2 1 7 4\n"
2833 "5 -1 10 3");
2834 auto out = ostringstream();
2835 main(in, out);
2836 const auto ans = out.str();
2837 ASSERT_EQ("15", ans);
2838 }
2839
2841 istringstream in("14 -783 421 693\n"
2842 "-153 680 443 741");
2843 auto out = ostringstream();
2844 main(in, out);
2845 const auto ans = out.str();
2846 ASSERT_EQ("595441", ans);
2847 }
2848 }// namespace acwing1749
2849
2850 namespace acwing1737 {
2852 istringstream in("3 10 8 2");
2853 auto out = ostringstream();
2854 main(in, out);
2855 const auto ans = out.str();
2856 ASSERT_EQ("3", ans);
2857 }
2858 }// namespace acwing1737
2859
2860 namespace acwing1725 {
2862 istringstream in("COW\n"
2863 "XXO\n"
2864 "ABC");
2865 auto out = ostringstream();
2866 main(in, out);
2867 const auto ans = out.str();
2868 ASSERT_EQ("0\n"
2869 "2",
2870 ans);
2871 }
2872 }// namespace acwing1725
2873
2874 namespace acwing4394 {
2876 istringstream in("5 5\n1 2 3 4 5");
2877 auto out = ostringstream();
2878 main(in, out);
2879 const auto ans = out.str();
2880 ASSERT_EQ("1 5", ans);
2881 }
2882
2884 istringstream in("9 3\n6 5 1 2 3 2 1 4 5");
2885 auto out = ostringstream();
2886 main(in, out);
2887 const auto ans = out.str();
2888 ASSERT_EQ("3 7", ans);
2889 }
2890
2892 istringstream in("3 1\n1 2 3");
2893 auto out = ostringstream();
2894 main(in, out);
2895 const auto ans = out.str();
2896 ASSERT_EQ("3 3", ans);
2897 }
2898
2900 istringstream in("6 8\n1 1 1 1 1 1");
2901 auto out = ostringstream();
2902 main(in, out);
2903 const auto ans = out.str();
2904 ASSERT_EQ("1 6", ans);
2905 }
2906 }// namespace acwing4394
2907
2908 namespace acwing1812 {
2910 istringstream in("6 6 8 8\n"
2911 "1 8 4 9");
2912 auto out = ostringstream();
2913 main(in, out);
2914 const auto ans = out.str();
2915 ASSERT_EQ("49", ans);
2916 }
2917 }// namespace acwing1812
2918
2919 namespace acwing1800 {
2921 istringstream in("10\n"
2922 "Bessie 1\n"
2923 "Maggie 13\n"
2924 "Elsie 3\n"
2925 "Elsie 4\n"
2926 "Henrietta 4\n"
2927 "Gertie 12\n"
2928 "Daisy 7\n"
2929 "Annabelle 10\n"
2930 "Bessie 6\n"
2931 "Henrietta 5");
2932 auto out = ostringstream();
2933 main(in, out);
2934 const auto ans = out.str();
2935 ASSERT_EQ("Henrietta", ans);
2936 }
2937 }// namespace acwing1800
2938
2939 namespace acwing1788 {
2941 istringstream in("8\n"
2942 "3 1\n"
2943 "3 0\n"
2944 "6 0\n"
2945 "2 1\n"
2946 "4 1\n"
2947 "3 0\n"
2948 "4 0\n"
2949 "3 1");
2950 auto out = ostringstream();
2951 main(in, out);
2952 const auto ans = out.str();
2953 ASSERT_EQ("3", ans);
2954 }
2955 }// namespace acwing1788
2956
2957 namespace acwing1775 {
2959 istringstream in("3 6");
2960 auto out = ostringstream();
2961 main(in, out);
2962 const auto ans = out.str();
2963 ASSERT_EQ("9", ans);
2964 }
2965 }// namespace acwing1775
2966
2967 namespace acwing785 {
2968 TEST(acwing785, case1) {
2969 istringstream in("5\n"
2970 "3 1 2 4 5");
2971 auto out = ostringstream();
2972 main(in, out);
2973 const auto ans = out.str();
2974 ASSERT_EQ("1 2 3 4 5 ", ans);
2975 }
2976 }// namespace acwing785
2977
2978 namespace acwing788 {
2979 TEST(acwing788, case1) {
2980 istringstream in("6\n"
2981 "2 3 4 5 6 1");
2982 auto out = ostringstream();
2983 main(in, out);
2984 const auto ans = out.str();
2985 ASSERT_EQ("5", ans);
2986 }
2987
2988 TEST(acwing788, case2) {
2989 istringstream in("10\n"
2990 "88 71 16 2 72 38 94 50 72 67");
2991 auto out = ostringstream();
2992 main(in, out);
2993 const auto ans = out.str();
2994 ASSERT_EQ("21", ans);
2995 }
2996 }// namespace acwing788
2997
2998 namespace acwing789 {
2999 TEST(acwing789, case1) {
3000 istringstream in("6 3\n"
3001 "1 2 2 3 3 4\n"
3002 "3\n"
3003 "4\n"
3004 "5");
3005 auto out = ostringstream();
3006 main(in, out);
3007 const auto ans = out.str();
3008 ASSERT_EQ("3 4\n"
3009 "5 5\n"
3010 "-1 -1\n",
3011 ans);
3012 }
3013 }// namespace acwing789
3014
3015 namespace acwing1866 {
3017 istringstream in("7 10\n"
3018 "4 8");
3019 auto out = ostringstream();
3020 main(in, out);
3021 const auto ans = out.str();
3022 ASSERT_EQ("6", ans);
3023 }
3024 }// namespace acwing1866
3025
3026 namespace acwing1854 {
3028 istringstream in("1 2\n1 1\n1 1\n1 2");
3029 auto out = ostringstream();
3030 main(in, out);
3031 const auto ans = out.str();
3032 ASSERT_EQ("1\n1\n1\n", ans);
3033 }
3034 }// namespace acwing1854
3035
3036 namespace acwing4397 {
3038 istringstream in("5 3\n3 4 7 10 3\n4 5 5 12 5");
3039 auto out = ostringstream();
3040 main(in, out);
3041 const auto ans = out.str();
3042 ASSERT_EQ("25", ans);
3043 }
3044 }// namespace acwing4397
3045
3046 namespace acwing1842 {
3048 istringstream in("17 25 77");
3049 auto out = ostringstream();
3050 main(in, out);
3051 const auto ans = out.str();
3052 ASSERT_EQ("76", ans);
3053 }
3054 }// namespace acwing1842
3055
3056 namespace acwing1824 {
3058 istringstream in("5 3\n"
3059 "1\n"
3060 "6\n"
3061 "4\n"
3062 "3\n"
3063 "1");
3064 auto out = ostringstream();
3065 main(in, out);
3066 const auto ans = out.str();
3067 ASSERT_EQ("4", ans);
3068 }
3069 }// namespace acwing1824
3070
3071 namespace acwing800 {
3072 TEST(acwing800, case1) {
3073 istringstream in("4 5 6\n"
3074 "1 2 4 7\n"
3075 "3 4 6 8 9");
3076 auto out = ostringstream();
3077 main(in, out);
3078 const auto ans = out.str();
3079 ASSERT_EQ("1 1", ans);
3080 }
3081 }// namespace acwing800
3082
3083 namespace acwing2816 {
3085 istringstream in("3 5\n"
3086 "1 3 5\n"
3087 "1 2 3 4 5");
3088 auto out = ostringstream();
3089 main(in, out);
3090 const auto ans = out.str();
3091 ASSERT_EQ("Yes", ans);
3092 }
3093 }// namespace acwing2816
3094
3095 namespace acwing1902 {
3097 istringstream in("4\n"
3098 "0 0\n"
3099 "8 3\n"
3100 "11 -1\n"
3101 "10 0");
3102 auto out = ostringstream();
3103 main(in, out);
3104 const auto ans = out.str();
3105 ASSERT_EQ("14", ans);
3106 }
3107 }// namespace acwing1902
3108
3109 namespace acwing3302 {
3111 istringstream in("(2+2)*(1+1)");
3112 auto out = ostringstream();
3113 main(in, out);
3114 const auto ans = out.str();
3115 ASSERT_EQ("8", ans);
3116 }
3117
3119 istringstream in("(3+5*4/2+2*(1+1)*(2+2))");
3120 auto out = ostringstream();
3121 main(in, out);
3122 const auto ans = out.str();
3123 ASSERT_EQ("29", ans);
3124 }
3125
3127 istringstream in("2*10-1000+24-(5*3)+(3*2)");
3128 auto out = ostringstream();
3129 main(in, out);
3130 const auto ans = out.str();
3131 ASSERT_EQ("-965", ans);
3132 }
3133 }// namespace acwing3302
3134
3135 namespace acwing831 {
3136 TEST(acwing831, case1) {
3137 istringstream in("3\n"
3138 "aba\n"
3139 "5\n"
3140 "ababa");
3141 auto out = ostringstream();
3142 main(in, out);
3143 const auto ans = out.str();
3144 ASSERT_EQ("0 2 ", ans);
3145 }
3146
3147 TEST(acwing831, case2) {
3148 istringstream in("10\n"
3149 "jNNNNjNNNN\n"
3150 "30\n"
3151 "jNNPw9NNNNnNMANTNHGNjNNNNjNNNN");
3152 auto out = ostringstream();
3153 main(in, out);
3154 const auto ans = out.str();
3155 ASSERT_EQ("20 ", ans);
3156 }
3157
3158 TEST(acwing831, case3) {
3159 istringstream in("7\n"
3160 "aabaaaa\n"
3161 "11\n"
3162 "aabaaabaaaa");
3163 auto out = ostringstream();
3164 main(in, out);
3165 const auto ans = out.str();
3166 ASSERT_EQ("4 ", ans);
3167 }
3168
3169 TEST(get_next, case1) {
3170 const string str = "ababaa";
3171 const vector next = {0, 0, 1, 2, 3, 1};
3172 ASSERT_EQ(next, get_next(str));
3173 }
3174
3175 TEST(get_next, case2) {
3176 const string str = "ababaaababaa";
3177 const vector next = {0, 0, 1, 2, 3, 1, 1, 2, 3, 4, 5, 6};
3178 ASSERT_EQ(next, get_next(str));
3179 }
3180
3181 TEST(get_next, case3) {
3182 const string str = "aabaaaa";
3183 const vector next = {0, 1, 0, 1, 2, 2, 2};
3184 ASSERT_EQ(next, get_next(str));
3185 }
3186 }// namespace acwing831
3187
3188 namespace acwing1892 {
3190 istringstream in("1 2 3\n"
3191 "3 3\n"
3192 "3 2 1\n"
3193 "4 4\n"
3194 "2 1 4 3\n"
3195 "8 5\n"
3196 "4 1 7 8 2");
3197 auto out = ostringstream();
3198 main(in, out);
3199 const auto ans = out.str();
3200 ASSERT_EQ("8", ans);
3201 }
3202
3204 istringstream in("10 4 10\n"
3205 "580 5\n"
3206 "5 3 10 4 7\n"
3207 "282 10\n"
3208 "2 6 4 8 9 3 5 10 7 1\n"
3209 "273 8\n"
3210 "10 6 5 9 7 3 8 4\n"
3211 "379 5\n"
3212 "7 6 10 4 9\n"
3213 "953 3\n"
3214 "2 10 1\n"
3215 "203 5\n"
3216 "9 8 1 6 10\n"
3217 "831 4\n"
3218 "5 10 3 8\n"
3219 "561 8\n"
3220 "7 10 8 2 5 3 6 4\n"
3221 "732 3\n"
3222 "8 2 1\n"
3223 "428 6\n"
3224 "1 7 3 4 2 5");
3225 auto out = ostringstream();
3226 main(in, out);
3227 const auto ans = out.str();
3228 ASSERT_EQ("273", ans);
3229 }
3230 }// namespace acwing1892
3231
3232 namespace acwing1883 {
3234 istringstream in("whatthemomooofun\n"
3235 "moo");
3236 auto out = ostringstream();
3237 main(in, out);
3238 const auto ans = out.str();
3239 ASSERT_EQ("whatthefun", ans);
3240 }
3241 }// namespace acwing1883
3242
3243 namespace acwing1995 {
3245 istringstream in("4 5\n"
3246 "3 L\n"
3247 "5 R\n"
3248 "1 L\n"
3249 "2 R\n"
3250 "4 R\n"
3251 "1 L\n"
3252 "3 L\n"
3253 "4 R\n"
3254 "2 L");
3255 auto out = ostringstream();
3256 main(in, out);
3257 const auto ans = out.str();
3258 ASSERT_EQ("3", ans);
3259 }
3260 }// namespace acwing1995
3261
3262 namespace acwing143 {
3263 TEST(acwing143, case1) {
3264 istringstream in("3\n"
3265 "1 2 3");
3266 auto out = ostringstream();
3267 main(in, out);
3268 const auto ans = out.str();
3269 ASSERT_EQ("3", ans);
3270 }
3271 }// namespace acwing143
3272
3273 namespace acwing837 {
3274 TEST(acwing837, case1) {
3275 istringstream in("5 5\n"
3276 "C 1 2\n"
3277 "Q1 1 2\n"
3278 "Q2 1\n"
3279 "C 2 5\n"
3280 "Q2 5");
3281 auto out = ostringstream();
3282 main(in, out);
3283 const auto ans = out.str();
3284 ASSERT_EQ("Yes\n"
3285 "2\n"
3286 "3\n",
3287 ans);
3288 }
3289 }// namespace acwing837
3290
3291 namespace acwing240 {
3292 TEST(acwing240, case1) {
3293 istringstream in("100 7\n"
3294 "1 101 1 \n"
3295 "2 1 2\n"
3296 "2 2 3 \n"
3297 "2 3 3 \n"
3298 "1 1 3 \n"
3299 "2 3 1 \n"
3300 "1 5 5");
3301 auto out = ostringstream();
3302 main(in, out);
3303 const auto ans = out.str();
3304 ASSERT_EQ("3", ans);
3305 }
3306 }// namespace acwing240
3307
3308 namespace acwing845 {
3309 TEST(acwing845, case1) {
3310 istringstream in("2 3 4 1 5 x 7 6 8");
3311 auto out = ostringstream();
3312 main(in, out);
3313 const auto ans = out.str();
3314 ASSERT_EQ("19", ans);
3315 }
3316
3317 TEST(acwing845, case2) {
3318 istringstream in("6 4 7 8 5 x 3 2 1");
3319 auto out = ostringstream();
3320 main(in, out);
3321 const auto ans = out.str();
3322 ASSERT_EQ("31", ans);
3323 }
3324 }// namespace acwing845
3325
3326 namespace acwing849 {
3327 TEST(acwing849, case1) {
3328 istringstream in("3 3\n"
3329 "1 2 2\n"
3330 "2 3 1\n"
3331 "1 3 4");
3332 auto out = ostringstream();
3333 main(in, out);
3334 const auto ans = out.str();
3335 ASSERT_EQ("3", ans);
3336 }
3337
3338 TEST(acwing849, case2) {
3339 istringstream in("5 10\n"
3340 "1 2 2\n"
3341 "5 3 3\n"
3342 "4 1 8\n"
3343 "2 4 3\n"
3344 "4 5 7\n"
3345 "5 2 3\n"
3346 "3 4 1\n"
3347 "1 2 9\n"
3348 "3 2 3\n"
3349 "1 2 8");
3350 auto out = ostringstream();
3351 main(in, out);
3352 const auto ans = out.str();
3353 ASSERT_EQ("12", ans);
3354 }
3355 }// namespace acwing849
3356
3357 namespace acwing853 {
3358 TEST(acwing853, case1) {
3359 istringstream in("3 3 1\n"
3360 "1 2 1\n"
3361 "2 3 1\n"
3362 "1 3 3");
3363 auto out = ostringstream();
3364 main(in, out);
3365 const auto ans = out.str();
3366 ASSERT_EQ("3", ans);
3367 }
3368
3369 TEST(acwing853, case2) {
3370 istringstream in("10 20 8\n"
3371 "4 2 7\n"
3372 "8 7 10\n"
3373 "1 3 1\n"
3374 "7 6 1\n"
3375 "4 5 8\n"
3376 "8 7 5\n"
3377 "5 7 1\n"
3378 "6 10 2\n"
3379 "3 1 9\n"
3380 "5 4 4\n"
3381 "4 7 1\n"
3382 "9 9 9\n"
3383 "8 1 8\n"
3384 "5 4 5\n"
3385 "7 6 5\n"
3386 "3 7 7\n"
3387 "4 9 1\n"
3388 "2 1 9\n"
3389 "2 9 9\n"
3390 "6 1 -2");
3391 auto out = ostringstream();
3392 main(in, out);
3393 const auto ans = out.str();
3394 ASSERT_EQ("11", ans);
3395 }
3396 }// namespace acwing853
3397
3398 namespace acwing851 {
3399 TEST(acwing851, case1) {
3400 istringstream in("3 3\n"
3401 "1 2 5\n"
3402 "2 3 -3\n"
3403 "1 3 4");
3404 auto out = ostringstream();
3405 main(in, out);
3406 const auto ans = out.str();
3407 ASSERT_EQ("2", ans);
3408 }
3409 }// namespace acwing851
3410
3411 namespace acwing852 {
3412 TEST(acwing852, case1) {
3413 istringstream in("3 3\n"
3414 "1 2 -1\n"
3415 "2 3 4\n"
3416 "3 1 -4");
3417 auto out = ostringstream();
3418 main(in, out);
3419 const auto ans = out.str();
3420 ASSERT_EQ("Yes", ans);
3421 }
3422
3423 TEST(acwing852, case2) {
3424 istringstream in("5 4\n"
3425 "1 2 1\n"
3426 "3 4 -1\n"
3427 "4 5 2\n"
3428 "5 3 -4");
3429 auto out = ostringstream();
3430 main(in, out);
3431 const auto ans = out.str();
3432 ASSERT_EQ("Yes", ans);
3433 }
3434 }// namespace acwing852
3435
3436 namespace acwing854 {
3437 TEST(acwing854, case1) {
3438 istringstream in("3 3 2\n"
3439 "1 2 1\n"
3440 "2 3 2\n"
3441 "1 3 1\n"
3442 "2 1\n"
3443 "1 3\n");
3444 auto out = ostringstream();
3445 main(in, out);
3446 const auto ans = out.str();
3447 ASSERT_EQ("impossible\n"
3448 "1\n",
3449 ans);
3450 }
3451
3452 TEST(acwing854, case2) {
3453 istringstream in("10 20 10\n"
3454 "1 2 6\n"
3455 "4 9 5\n"
3456 "10 3 10\n"
3457 "10 4 5\n"
3458 "1 4 10\n"
3459 "1 10 0\n"
3460 "9 7 8\n"
3461 "1 5 8\n"
3462 "4 4 9\n"
3463 "10 4 4\n"
3464 "4 7 6\n"
3465 "9 1 10\n"
3466 "6 8 -3\n"
3467 "2 3 10\n"
3468 "2 8 1\n"
3469 "7 6 6\n"
3470 "4 4 5\n"
3471 "8 9 8\n"
3472 "6 1 8\n"
3473 "6 8 7\n"
3474 "7 4\n"
3475 "2 10\n"
3476 "4 4\n"
3477 "4 1\n"
3478 "8 3\n"
3479 "3 7\n"
3480 "10 9\n"
3481 "3 10\n"
3482 "6 10\n"
3483 "9 5\n");
3484 auto out = ostringstream();
3485 main(in, out);
3486 const auto ans = out.str();
3487 ASSERT_EQ("18\n"
3488 "19\n"
3489 "0\n"
3490 "15\n"
3491 "28\n"
3492 "impossible\n"
3493 "9\n"
3494 "impossible\n"
3495 "8\n"
3496 "18\n",
3497 ans);
3498 }
3499 }// namespace acwing854
3500
3501 namespace acwing858 {
3502 TEST(acwing858, case1) {
3503 istringstream in("4 5\n"
3504 "1 2 1\n"
3505 "1 3 2\n"
3506 "1 4 3\n"
3507 "2 3 2\n"
3508 "3 4 4");
3509 auto out = ostringstream();
3510 main(in, out);
3511 const auto ans = out.str();
3512 ASSERT_EQ("6", ans);
3513 }
3514
3515 TEST(acwing858, case2) {
3516 istringstream in("5 10\n"
3517 "1 2 8\n"
3518 "2 2 7\n"
3519 "2 1 1\n"
3520 "3 4 3\n"
3521 "4 4 -10\n"
3522 "1 3 -9\n"
3523 "5 2 -4\n"
3524 "3 1 0\n"
3525 "1 4 8\n"
3526 "4 4 7");
3527 auto out = ostringstream();
3528 main(in, out);
3529 const auto ans = out.str();
3530 ASSERT_EQ("-9", ans);
3531 }
3532 }// namespace acwing858
3533
3534 namespace acwing859 {
3535 TEST(acwing859, case1) {
3536 istringstream in("4 5\n"
3537 "1 2 1\n"
3538 "1 3 2\n"
3539 "1 4 3\n"
3540 "2 3 2\n"
3541 "3 4 4");
3542 auto out = ostringstream();
3543 main(in, out);
3544 const auto ans = out.str();
3545 ASSERT_EQ("6", ans);
3546 }
3547
3548 TEST(acwing859, case2) {
3549 istringstream in("10 20\n"
3550 "2 5 -6\n"
3551 "6 8 -9\n"
3552 "2 1 9\n"
3553 "10 8 2\n"
3554 "3 4 -1\n"
3555 "6 7 5\n"
3556 "1 2 6\n"
3557 "8 7 -5\n"
3558 "3 2 10\n"
3559 "10 10 9\n"
3560 "4 3 -1\n"
3561 "7 8 8\n"
3562 "3 3 6\n"
3563 "6 9 -4\n"
3564 "1 2 -9\n"
3565 "6 6 6\n"
3566 "3 2 7\n"
3567 "9 10 4\n"
3568 "4 5 -3\n"
3569 "8 9 2");
3570 auto out = ostringstream();
3571 main(in, out);
3572 const auto ans = out.str();
3573 ASSERT_EQ("impossible", ans);
3574 }
3575 }// namespace acwing859
3576
3577 namespace acwing860 {
3578 TEST(acwing859, case1) {
3579 istringstream in("4 4\n"
3580 "1 3\n"
3581 "1 4\n"
3582 "2 3\n"
3583 "2 4");
3584 auto out = ostringstream();
3585 main(in, out);
3586 const auto ans = out.str();
3587 ASSERT_EQ("Yes", ans);
3588 }
3589
3590 TEST(acwing859, case2) {
3591 istringstream in("7 7\n"
3592 "1 3\n"
3593 "1 4\n"
3594 "2 3\n"
3595 "2 4\n"
3596 "5 6\n"
3597 "6 7\n"
3598 "5 7");
3599 auto out = ostringstream();
3600 main(in, out);
3601 const auto ans = out.str();
3602 ASSERT_EQ("No", ans);
3603 }
3604 }// namespace acwing860
3605
3606 namespace acwing861 {
3607 TEST(acwing859, case1) {
3608 istringstream in("2 2 4\n"
3609 "1 1\n"
3610 "1 2\n"
3611 "2 1\n"
3612 "2 2");
3613 auto out = ostringstream();
3614 main(in, out);
3615 const auto ans = out.str();
3616 ASSERT_EQ("2", ans);
3617 }
3618 }// namespace acwing861
3619
3620 namespace acwing3373 {
3622 istringstream in("0\n"
3623 "1\n"
3624 "3\n"
3625 "8");
3626 auto out = ostringstream();
3627 main(in, out);
3628 const auto ans = out.str();
3629 ASSERT_EQ("0\n"
3630 "1\n"
3631 "11\n"
3632 "1000\n",
3633 ans);
3634 }
3635
3637 istringstream in("23\n"
3638 "2474\n"
3639 "6807\n"
3640 "99552\n"
3641 "40\n"
3642 "53\n"
3643 "2464\n"
3644 "66\n"
3645 "11\n"
3646 "9\n"
3647 "4020\n"
3648 "52\n"
3649 "240\n"
3650 "89\n"
3651 "45206\n"
3652 "575\n"
3653 "15856\n"
3654 "13\n"
3655 "575\n"
3656 "2\n"
3657 "99453\n"
3658 "16593\n"
3659 "4\n"
3660 "3\n"
3661 "4\n"
3662 "55\n"
3663 "846\n"
3664 "8471\n"
3665 "5\n"
3666 "66816\n"
3667 "31273\n"
3668 "5\n"
3669 "215\n"
3670 "54\n"
3671 "175\n"
3672 "93369\n"
3673 "17279\n"
3674 "993\n"
3675 "56181\n"
3676 "9411\n"
3677 "6298\n"
3678 "939\n"
3679 "48162\n"
3680 "4\n"
3681 "8643\n"
3682 "930\n"
3683 "4\n"
3684 "9\n"
3685 "4251\n"
3686 "629\n"
3687 "7\n"
3688 "92001\n"
3689 "658\n"
3690 "84\n"
3691 "5\n"
3692 "42\n"
3693 "66\n"
3694 "6\n"
3695 "64\n"
3696 "45229\n"
3697 "18566\n"
3698 "67680\n"
3699 "15\n"
3700 "13\n"
3701 "4\n"
3702 "88888\n"
3703 "97\n"
3704 "9262\n"
3705 "5\n"
3706 "75\n"
3707 "5932\n"
3708 "27950\n"
3709 "698\n"
3710 "471\n"
3711 "22\n"
3712 "6\n"
3713 "56611\n"
3714 "8706\n"
3715 "799\n"
3716 "70\n"
3717 "96161\n"
3718 "525\n"
3719 "1256\n"
3720 "26939\n"
3721 "229\n"
3722 "228\n"
3723 "1\n"
3724 "5\n"
3725 "523\n"
3726 "293\n"
3727 "2297\n"
3728 "154\n"
3729 "286\n"
3730 "27487\n"
3731 "583\n"
3732 "223\n"
3733 "9\n"
3734 "510\n"
3735 "50110\n"
3736 "5");
3737 auto out = ostringstream();
3738 main(in, out);
3739 const auto ans = out.str();
3740 ASSERT_EQ("10111\n"
3741 "100110101010\n"
3742 "1101010010111\n"
3743 "11000010011100000\n"
3744 "101000\n"
3745 "110101\n"
3746 "100110100000\n"
3747 "1000010\n"
3748 "1011\n"
3749 "1001\n"
3750 "111110110100\n"
3751 "110100\n"
3752 "11110000\n"
3753 "1011001\n"
3754 "1011000010010110\n"
3755 "1000111111\n"
3756 "11110111110000\n"
3757 "1101\n"
3758 "1000111111\n"
3759 "10\n"
3760 "11000010001111101\n"
3761 "100000011010001\n"
3762 "100\n"
3763 "11\n"
3764 "100\n"
3765 "110111\n"
3766 "1101001110\n"
3767 "10000100010111\n"
3768 "101\n"
3769 "10000010100000000\n"
3770 "111101000101001\n"
3771 "101\n"
3772 "11010111\n"
3773 "110110\n"
3774 "10101111\n"
3775 "10110110010111001\n"
3776 "100001101111111\n"
3777 "1111100001\n"
3778 "1101101101110101\n"
3779 "10010011000011\n"
3780 "1100010011010\n"
3781 "1110101011\n"
3782 "1011110000100010\n"
3783 "100\n"
3784 "10000111000011\n"
3785 "1110100010\n"
3786 "100\n"
3787 "1001\n"
3788 "1000010011011\n"
3789 "1001110101\n"
3790 "111\n"
3791 "10110011101100001\n"
3792 "1010010010\n"
3793 "1010100\n"
3794 "101\n"
3795 "101010\n"
3796 "1000010\n"
3797 "110\n"
3798 "1000000\n"
3799 "1011000010101101\n"
3800 "100100010000110\n"
3801 "10000100001100000\n"
3802 "1111\n"
3803 "1101\n"
3804 "100\n"
3805 "10101101100111000\n"
3806 "1100001\n"
3807 "10010000101110\n"
3808 "101\n"
3809 "1001011\n"
3810 "1011100101100\n"
3811 "110110100101110\n"
3812 "1010111010\n"
3813 "111010111\n"
3814 "10110\n"
3815 "110\n"
3816 "1101110100100011\n"
3817 "10001000000010\n"
3818 "1100011111\n"
3819 "1000110\n"
3820 "10111011110100001\n"
3821 "1000001101\n"
3822 "10011101000\n"
3823 "110100100111011\n"
3824 "11100101\n"
3825 "11100100\n"
3826 "1\n"
3827 "101\n"
3828 "1000001011\n"
3829 "100100101\n"
3830 "100011111001\n"
3831 "10011010\n"
3832 "100011110\n"
3833 "110101101011111\n"
3834 "1001000111\n"
3835 "11011111\n"
3836 "1001\n"
3837 "111111110\n"
3838 "1100001110111110\n"
3839 "101\n",
3840 ans);
3841 }
3842 }// namespace acwing3373
3843}// namespace acwing
TEST(acwing1, case1)
TEST(acwing2060, case1)
TEST(acwing2019, case1)
TEST(acwing1978, case1)
AcWing 1929. 镜子田地
TEST(acwing1929, case1)
TEST(acwing1826, case1)
TEST(acwing1660, case1)
AcWing 78. 左旋转字符串
TEST(acwing78, case1)
AcWing 16. 替换空格
TEST(acwing16, case1)
AcWing 87. 把字符串转换成整数
TEST(acwing87, case1)
TEST(acwing4310, case1)
AcWing 84. 求1+2+…+n
TEST(acwing84, case1)
AcWing 67. 数字在排序数组中出现的次数
TEST(acwing67, case1)
AcWing 53. 最小的k个数
TEST(acwing53, case1)
AcWing 68. 0到n-1中缺失的数字
TEST(acwing68, case1)
AcWing 75. 和为S的两个数字
TEST(acwing75, case1)
AcWing 51. 数字排列
TEST(acwing51, case1)
AcWing 26. 二进制中1的个数
TEST(acwing26, case1)
AcWing 3358. 放养但没有完全放养
int main(istream &cin, ostream &cout)
TEST(acwing3358, case1)
AcWing 3370. 牛年
TEST(acwing3370, case1)
int main(istream &cin, ostream &cout)
AcWing 3745. 牛的学术圈 I
int main(istream &cin, ostream &cout)
TEST(acwing3745, case1)
AcWing 1459. 奶牛体操
int main(istream &cin, ostream &cout)
TEST(acwing1459, case1)
AcWing 1442. 单词处理器
TEST(acwing1442, case1)
int main(istream &cin, ostream &cout)
AcWing 4314. 三元组
int main(istream &cin, ostream &cout)
TEST(acwing4314, case1)
AcWing 4315. 两个数列
TEST(acwing4315, case1)
int main(istream &cin, ostream &cout)
TEST(acwing1671, case1)
int main(istream &cin, ostream &cout)
TEST(acwing1659, case1)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
TEST(acwing1714, case1)
int main(istream &cin, ostream &cout)
TEST(acwing1695, case1)
TEST(acwing1683, case1)
int main(istream &cin, ostream &cout)
TEST(acwing4318, case1)
int main(istream &cin, ostream &cout)
TEST(acwing4319, case1)
int main(istream &cin, ostream &cout)
水桶传递队列
TEST(acwing1470, case1)
int main(istream &cin, ostream &cout)
阻挡广告牌
int main(istream &cin, ostream &cout)
TEST(acwing1761, case1)
阻挡广告牌 II
TEST(acwing1749, case1)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
TEST(acwing1737, case1)
组队井字游戏
TEST(acwing1725, case1)
int main(istream &cin, ostream &cout)
最长连续子序列
TEST(acwing4394, case1)
int main(istream &cin, ostream &cout)
TEST(acwing1812, case1)
int main(istream &cin, ostream &cout)
不做最后一个!
int main(istream &cin, ostream &cout)
TEST(acwing1800, case1)
牛为什么过马路
TEST(acwing1788, case1)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
TEST(acwing1775, case1)
int main(istream &cin, ostream &cout)
TEST(acwing785, case1)
逆序对的数量
int main(istream &cin, ostream &cout)
TEST(acwing788, case1)
int main(istream &cin, ostream &cout)
TEST(acwing789, case1)
int main(istream &cin, ostream &cout)
TEST(acwing1866, case1)
TEST(acwing1854, case1)
int main(istream &cin, ostream &cout)
TEST(acwing4397, case2)
int main(istream &cin, ostream &cout)
TEST(acwing1842, case1)
int main(istream &cin, ostream &cout)
钻石收藏家
int main(istream &cin, ostream &cout)
TEST(acwing1824, case1)
数组元素的目标和
TEST(acwing800, case1)
int main(istream &cin, ostream &cout)
判断子序列
int main(istream &cin, ostream &cout)
TEST(acwing2816, case1)
TEST(acwing1902, case1)
int main(istream &cin, ostream &cout)
表达式求值
TEST(acwing3302, case1)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
TEST(acwing831, case1)
vector< int > get_next(const string &str)
TEST(acwing1892, case1)
int main(istream &cin, ostream &cout)
TEST(acwing1883, case2)
int main(istream &cin, ostream &cout)
见面与问候
int main(istream &cin, ostream &cout)
TEST(acwing1995, case1)
最大异或对
int main(istream &cin, ostream &cout)
TEST(acwing143, case1)
连通块中点的数量
TEST(acwing837, case1)
int main(istream &cin, ostream &cout)
TEST(acwing240, case1)
int main(istream &cin, ostream &cout)
TEST(acwing845, case1)
int main(istream &cin, ostream &cout)
Dijkstra求最短路 I
int main(istream &cin, ostream &cout)
TEST(acwing849, case1)
有边数限制的最短路
int main(istream &cin, ostream &cout)
TEST(acwing853, case1)
spfa求最短路
TEST(acwing851, case1)
int main(istream &cin, ostream &cout)
spfa判断负环
TEST(acwing852, case1)
int main(istream &cin, ostream &cout)
Floyd求最短路
int main(istream &cin, ostream &cout)
TEST(acwing854, case1)
Prim算法求最小生成树
TEST(acwing858, case1)
int main(istream &cin, ostream &cout)
Kruskal算法求最小生成树
TEST(acwing859, case1)
int main(istream &cin, ostream &cout)
TEST(acwing859, case1)
int main(istream &cin, ostream &cout)
TEST(acwing859, case1)
int main(istream &cin, ostream &cout)
int main(istream &cin, ostream &cout)
TEST(acwing3373, case1)
AcWing 21. 斐波那契数列
TEST(acwing21, case1)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
时间转换
static int main(istream &, ostream &)
简单乘积
static int main(istream &, ostream &)
AcWing 2041. 干草堆
static int main(istream &, ostream &)
static int main(istream &, ostream &)
static int main(istream &, ostream &)
AcWing 611. 简单计算
static int main(istream &, ostream &)
AcWing 612. 球的体积
static int main(istream &, ostream &)
AcWing 2014. 岛
static int main(istream &, ostream &)
AcWing 607. 平均数2
static int main(istream &, ostream &)
AcWing 613. 面积
static int main(istream &, ostream &)
AcWing 610. 工资和奖金
static int main(istream &, ostream &)
AcWing 614. 最大值
static int main(istream &, ostream &)
AcWing 2005. 马蹄铁
static int main(istream &, ostream &)
AcWing 617. 距离
static int main(istream &, ostream &)
AcWing 618. 燃料消耗
static int main(istream &, ostream &)
AcWing 4206. 判断数字
static int main(istream &, ostream &)
AcWing 4207. 最长合法括号子序列
static int main(istream &, ostream &)
AcWing 1996. 打乱字母
static int main(istream &, ostream &)
AcWing 656. 钞票和硬币
static int main(istream &, ostream &)
AcWing 655. 天数转换
static int main(istream &, ostream &)
AcWing 665. 倍数
static int main(istream &, ostream &)
AcWing 657. 选择练习1
static int main(istream &, ostream &)
AcWing 1987. 粉刷栅栏
static int main(istream &, ostream &)
AcWing 660. 零食
static int main(istream &, ostream &)
AcWing 671. DDD
static int main(istream &, ostream &)
static int main(istream &, ostream &)
AcWing 659. 区间
static int main(istream &, ostream &)
AcWing 662. 点的坐标
static int main(istream &, ostream &)
AcWing 1969. 品种邻近
static int main(istream &, ostream &)
AcWing 664. 三角形
static int main(istream &, ostream &)
AcWing 666. 三角形类型
static int main(istream &, ostream &)
AcWing 1960. 闪烁
AcWing 667. 游戏时间
static int main(istream &, ostream &)
AcWing 668. 游戏时间2
static int main(istream &, ostream &)
AcWing 1952. 金发姑娘和 N 头牛
static int main(istream &, ostream &)
AcWing 669. 加薪
static int main(istream &cin, ostream &cout)
AcWing 672. 税
static int main(istream &cin, ostream &cout)
AcWing 1945. 奶牛棒球
static int main(istream &cin, ostream &cout)
AcWing 4210. 数字
static int main(istream &cin, ostream &cout)
AcWing 4211. 序列重排
static int main(istream &cin, ostream &cout)
AcWing 670. 动物
static int main(istream &cin, ostream &cout)
AcWing 663. 简单排序
static int main(istream &cin, ostream &cout)
AcWing 1934. 贝茜放慢脚步
static int main(istream &cin, ostream &cout)
AcWing 658. 一元二次方程公式
static int main(istream &cin, ostream &cout)
AcWing 661. 平均数3
static int main(istream &cin, ostream &cout)
AcWing 1922. 懒惰的牛
static int main(istream &cin, ostream &cout)
AcWing 709. 奇数
static int main(istream &cin, ostream &cout)
AcWing 710. 六个奇数
static int main(istream &cin, ostream &cout)
AcWing 1913. 公平摄影
static int main(istream &cin, ostream &cout)
AcWing 712. 正数
static int main(istream &cin, ostream &cout)
AcWing 711. 乘法表
static int main(istream &cin, ostream &cout)
AcWing 1904. 奶牛慢跑
static int main(istream &cin, ostream &cout)
AcWing 714. 连续奇数的和 1
static int main(istream &cin, ostream &cout)
AcWing 718. 实验
static int main(istream &cin, ostream &cout)
AcWing 1884. COW
static int main(istream &cin, ostream &cout)
AcWing 4212. 字符串比较
static int main(istream &cin, ostream &cout)
AcWing 4213. 最小结果
static int main(istream &cin, ostream &cout)
AcWing 4214. 三元组
static int main(istream &cin, ostream &cout)
AcWing 713. 区间 2
static int main(istream &cin, ostream &cout)
AcWing 721. 递增序列
static int main(istream &cin, ostream &cout)
AcWing 719. 连续奇数的和 2
static int main(istream &cin, ostream &cout)
AcWing 1875. 贝茜的报复
static int main(istream &cin, ostream &cout)
AcWing 720. 连续整数相加
static int main(istream &cin, ostream &cout)
AcWing 717. 简单斐波那契
static int main(istream &cin, ostream &cout)
AcWing 1855. 愤怒的奶牛
static int main(istream &cin, ostream &cout)
AcWing 724. 约数
static int main(istream &cin, ostream &cout)
AcWing 722. 数字序列和它的和
static int main(istream &cin, ostream &cout)
AcWing 1843. 圆形牛棚
static int main(istream &cin, ostream &cout)
AcWing 723. PUM
static int main(istream &cin, ostream &cout)
AcWing 725. 完全数
static int main(istream &cin, ostream &cout)
static int main(istream &cin, ostream &cout)
AcWing 1813. 方块游戏
static int main(istream &cin, ostream &cout)
AcWing 726. 质数
static int main(istream &cin, ostream &cout)
AcWing 737. 数组替换
static int main(istream &cin, ostream &cout)
AcWing 1801. 蹄子剪刀布
static int main(istream &cin, ostream &cout)
AcWing 4215. 处理字符串
static int main(istream &cin, ostream &cout)
AcWing 4216. 图中的环
static int main(istream &cin, ostream &cout)
AcWing 4217. 机器人移动
AcWing 738. 数组填充
static int main(istream &cin, ostream &cout)
AcWing 741. 斐波那契数列
static int main(istream &cin, ostream &cout)
AcWing 1789. 牛为什么过马路 II
static int main(istream &cin, ostream &cout)
AcWing 742. 最小数和它的位置
static int main(istream &cin, ostream &cout)
AcWing 1776. 牛的基因组学
static int main(istream &cin, ostream &cout)
AcWing 743. 数组中的行
static int main(istream &cin, ostream &cout)
AcWing 1762. 牛的洗牌
static int main(istream &cin, ostream &cout)
AcWing 1750. 救生员
static int main(istream &cin, ostream &cout)
AcWing 1738. 蹄球
static int main(istream &cin, ostream &cout)
AcWing 4297. 截断数组
static int main(istream &cin, ostream &cout)
AcWing 4298. 搭档
AcWing 1726. 挤奶顺序
static int main(istream &cin, ostream &cout)
AcWing 753. 平方矩阵 I
static int main(istream &cin, ostream &cout)
AcWing 1715. 桶列表
static int main(istream &cin, ostream &cout)
AcWing 756. 蛇形矩阵
static int main(istream &cin, ostream &cout)
AcWing 1696. 困牛排序
static int main(istream &cin, ostream &cout)
AcWing 760. 字符串长度
static int main(istream &cin, ostream &cout)
AcWing 762. 字符串匹配
static int main(istream &cin, ostream &cout)
AcWing 1684. 大型植被恢复
static int main(istream &cin, ostream &cout)
AcWing 761. 字符串中的数字个数
static int main(istream &cin, ostream &cout)
AcWing 768. 忽略大小写比较字符串大小
static int main(istream &cin, ostream &cout)
AcWing 1471. 牛奶工厂
static int main(istream &cin, ostream &cout)
AcWing 763. 循环相克令
static int main(istream &cin, ostream &cout)
AcWing 766. 去掉多余的空格
static int main(istream &cin, ostream &cout)
AcWing 1460. 我在哪?
static int main(istream &cin, ostream &cout)
AcWing 4299. 删点
static int main(istream &cin, ostream &cout)
AcWing 4300. 两种操作
static int main(istream &cin, ostream &cout)
AcWing 4301. 截断数列
static int main(istream &cin, ostream &cout)
AcWing 765. 字符串加空格
static int main(istream &cin, ostream &cout)
AcWing 767. 信息加密
static int main(istream &cin, ostream &cout)
AcWing 769. 替换字符
static int main(istream &cin, ostream &cout)
AcWing 764. 输出字符串
static int main(istream &cin, ostream &cout)
AcWing 1443. 拍照
static int main(istream &cin, ostream &cout)
AcWing 773. 字符串插入
static int main(istream &cin, ostream &cout)
AcWing 770. 单词替换
static int main(istream &cin, ostream &cout)
AcWing 1672. 疯狂的科学家
static int main(istream &cin, ostream &cout)
AcWing 772. 只出现一次的字符
static int main(istream &cin, ostream &cout)
AcWing 771. 字符串中最长的连续出现的字符
static int main(istream &cin, ostream &cout)
static int main(istream &cin, ostream &cout)
AcWing 774. 最长单词
static int main(istream &cin, ostream &cout)
AcWing 775. 倒排单词
static int main(istream &cin, ostream &cout)
AcWing 3347. 菊花链
static int main(istream &cin, ostream &cout)
AcWing 777. 字符串乘方
static int main(istream &cin, ostream &cout)
AcWing 776. 字符串移位包含问题
static int main(istream &cin, ostream &cout)
AcWing 4302. 元素分类
static int main(istream &cin, ostream &cout)
AcWing 4304. 字符串归类
static int main(istream &cin, ostream &cout)
AcWing 778. 字符串最大跨距
static int main(istream &cin, ostream &cout)
AcWing 779. 最长公共字符串后缀
static int main(istream &cin, ostream &cout)
AcWing 804. n的阶乘
static int main(istream &cin, ostream &cout)
AcWing 810. 绝对值
static int main(istream &cin, ostream &cout)
AcWing 805. x和y的最大值
static int main(istream &cin, ostream &cout)
AcWing 806. 两个数的和
static int main(istream &cin, ostream &cout)
AcWing 808. 最大公约数
static int main(istream &cin, ostream &cout)
AcWing 807. 区间求和
static int main(istream &cin, ostream &cout)
AcWing 811. 交换数值
static int main(istream &cin, ostream &cout)
AcWing 809. 最小公倍数
static int main(istream &cin, ostream &cout)
AcWing 812. 打印数字
static int main(istream &cin, ostream &cout)
AcWing 814. 复制数组
static int main(istream &cin, ostream &cout)
AcWing 813. 打印矩阵
static int main(istream &cin, ostream &cout)
AcWing 815. 打印字符串
static int main(istream &cin, ostream &cout)
AcWing 4305. 斐波那契字符串
static int main(istream &cin, ostream &cout)
AcWing 4306. 序列处理
static int main(istream &cin, ostream &cout)
AcWing 4307. 数字重构
static int main(istream &cin, ostream &cout)
AcWing 819. 递归求阶乘
static int main(istream &cin, ostream &cout)
AcWing 816. 数组翻转
static int main(istream &cin, ostream &cout)
AcWing 820. 递归求斐波那契数列
static int main(istream &cin, ostream &cout)
AcWing 817. 数组去重
static int main(istream &cin, ostream &cout)
AcWing 818. 数组排序
static int main(istream &cin, ostream &cout)
AcWing 821. 跳台阶
static int main(istream &cin, ostream &cout)
AcWing 822. 走方格
static int main(istream &cin, ostream &cout)
AcWing 823. 排列
static int main(istream &cin, ostream &cout)
static string leftRotateString(string str, int n)
static string replaceSpaces(string &str)
static int strToInt(string str)
AcWing 4308. 组合字符串
static int main(istream &cin, ostream &cout)
AcWing 4309. 消灭老鼠
static int main(istream &cin, ostream &cout)
static int getNumberOfK(vector< int > &nums, int k)
static vector< int > getLeastNumbers_Solution(vector< int > input, int k)
static int getMissingNumber(vector< int > &nums)
static vector< int > findNumbersWithSum(vector< int > &nums, int target)
static vector< vector< int > > permutation(vector< int > &nums)
AcWing 862. 三元组排序
static int main(istream &cin, ostream &cout)
AcWing 4312. 出现次数
static int main(istream &cin, ostream &cout)
AcWing 3346. 你知道你的ABC吗
static int main(istream &cin, ostream &cout)