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 {
2512 TEST(acwing3358, case1) {
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 {
2523 TEST(acwing3370, case1) {
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
2535 TEST(acwing3370, case2) {
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 {
2555 TEST(acwing3745, case1) {
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
2564 TEST(acwing3745, case2) {
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
2573 TEST(acwing3745, case3) {
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
2582 TEST(acwing3745, case4) {
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
2591 TEST(acwing3745, case5) {
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
2600 TEST(acwing3745, case6) {
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
2614 TEST(acwing3745, case7) {
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
2623 TEST(acwing3745, case8) {
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 {
2634 TEST(acwing1459, case1) {
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 {
2647 TEST(acwing1442, case1) {
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 {
2664 TEST(acwing4314, case1) {
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
2672 TEST(acwing4314, case2) {
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 {
2682 TEST(acwing4315, case1) {
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
2690 TEST(acwing4315, case2) {
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
2698 TEST(acwing4315, case3) {
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 {
2708 TEST(acwing1671, case1) {
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 {
2722 TEST(acwing1659, case1) {
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 {
2732 TEST(acwing1714, case1) {
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 {
2747 TEST(acwing1695, case1) {
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 {
2760 TEST(acwing1683, case1) {
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 {
2772 TEST(acwing4318, case1) {
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
2780 TEST(acwing4318, case2) {
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 {
2790 TEST(acwing4319, case1) {
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 {
2800 TEST(acwing1470, case1) {
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 {
2819 TEST(acwing1761, case1) {
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 {
2831 TEST(acwing1749, case1) {
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
2840 TEST(acwing1749, case2) {
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 {
2851 TEST(acwing1737, case1) {
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 {
2861 TEST(acwing1725, case1) {
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 {
2875 TEST(acwing4394, case1) {
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
2883 TEST(acwing4394, case2) {
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
2891 TEST(acwing4394, case3) {
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
2899 TEST(acwing4394, case4) {
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 {
2909 TEST(acwing1812, case1) {
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 {
2920 TEST(acwing1800, case1) {
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 {
2940 TEST(acwing1788, case1) {
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 {
2958 TEST(acwing1775, case1) {
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 {
3016 TEST(acwing1866, case1) {
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 {
3027 TEST(acwing1854, case1) {
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 {
3037 TEST(acwing4397, case2) {
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 {
3047 TEST(acwing1842, case1) {
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 {
3057 TEST(acwing1824, case1) {
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 {
3084 TEST(acwing2816, case1) {
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 {
3096 TEST(acwing1902, case1) {
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 {
3110 TEST(acwing3302, case1) {
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
3118 TEST(acwing3302, case2) {
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
3126 TEST(acwing3302, case3) {
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 {
3189 TEST(acwing1892, case1) {
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
3203 TEST(acwing1892, case2) {
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 {
3233 TEST(acwing1883, case2) {
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 {
3244 TEST(acwing1995, case1) {
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 {
3621 TEST(acwing3373, case1) {
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
3636 TEST(acwing3373, case2) {
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
int main(int argc, char **argv)
Definition: main.cpp:5
TEST(acwing1, case1)
Definition: acwing_test.cpp:6
TEST(acwing2060, case1)
TEST(acwing2019, case1)
TEST(acwing1978, case1)
TEST(acwing1929, case1)
TEST(acwing1826, case1)
TEST(acwing1660, case1)
TEST(acwing78, case1)
TEST(acwing16, case1)
TEST(acwing87, case1)
TEST(acwing4310, case1)
TEST(acwing84, case1)
TEST(acwing67, case1)
TEST(acwing53, case1)
TEST(acwing68, case1)
TEST(acwing75, case1)
TEST(acwing51, case1)
TEST(acwing26, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5376
TEST(acwing3358, case1)
TEST(acwing3370, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5397
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5494
TEST(acwing3745, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5536
TEST(acwing1459, case1)
TEST(acwing1442, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5566
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5595
TEST(acwing4314, case1)
TEST(acwing4315, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5613
TEST(acwing1671, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5635
TEST(acwing1659, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5661
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5750
TEST(acwing1714, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5775
TEST(acwing1695, case1)
TEST(acwing1683, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5807
TEST(acwing4318, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5828
TEST(acwing4319, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5898
TEST(acwing1470, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5940
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5982
TEST(acwing1761, case1)
TEST(acwing1749, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6013
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6055
TEST(acwing1737, case1)
TEST(acwing1725, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6070
TEST(acwing4394, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6131
TEST(acwing1812, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6192
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6209
TEST(acwing1800, case1)
TEST(acwing1788, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6254
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6276
TEST(acwing1775, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6317
TEST(acwing785, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6364
TEST(acwing788, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6414
TEST(acwing789, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6432
TEST(acwing1866, case1)
TEST(acwing1854, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6449
TEST(acwing4397, case2)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6472
TEST(acwing1842, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6561
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6578
TEST(acwing1824, case1)
TEST(acwing800, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6602
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6638
TEST(acwing2816, case1)
TEST(acwing1902, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6668
TEST(acwing3302, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6700
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6788
TEST(acwing831, case1)
vector< int > get_next(const string &str)
Definition: acwing.cpp:6821
TEST(acwing1892, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6847
TEST(acwing1883, case2)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6878
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6901
TEST(acwing1995, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:6958
TEST(acwing143, case1)
TEST(acwing837, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7005
TEST(acwing240, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7031
TEST(acwing845, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7097
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7159
TEST(acwing849, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7201
TEST(acwing853, case1)
TEST(acwing851, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7232
TEST(acwing852, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7281
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7341
TEST(acwing854, case1)
TEST(acwing858, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7379
TEST(acwing859, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7422
TEST(acwing859, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7456
TEST(acwing859, case1)
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7497
int main(istream &cin, ostream &cout)
Definition: acwing.cpp:7537
TEST(acwing3373, case1)
TEST(acwing21, case1)
static int main(istream &, ostream &)
Definition: acwing.cpp:23
static int main(istream &, ostream &)
Definition: acwing.cpp:31
static int main(istream &, ostream &)
Definition: acwing.cpp:48
static int main(istream &, ostream &)
Definition: acwing.cpp:77
static int main(istream &, ostream &)
Definition: acwing.cpp:87
static int main(istream &, ostream &)
Definition: acwing.cpp:95
static int main(istream &, ostream &)
Definition: acwing.cpp:103
static int main(istream &, ostream &)
Definition: acwing.cpp:113
static int main(istream &, ostream &)
Definition: acwing.cpp:121
static int main(istream &, ostream &)
Definition: acwing.cpp:131
static int main(istream &, ostream &)
Definition: acwing.cpp:146
static int main(istream &, ostream &)
Definition: acwing.cpp:168
static int main(istream &, ostream &)
Definition: acwing.cpp:233
时间转换
Definition: acwing.h:90
static int main(istream &, ostream &)
Definition: acwing.cpp:274
简单乘积
Definition: acwing.h:98
static int main(istream &, ostream &)
Definition: acwing.cpp:286
AcWing 2041. 干草堆
Definition: acwing.h:106
static int main(istream &, ostream &)
Definition: acwing.cpp:294
AcWing 611. 简单计算
Definition: acwing.h:167
static int main(istream &, ostream &)
Definition: acwing.cpp:464
AcWing 612. 球的体积
Definition: acwing.h:175
static int main(istream &, ostream &)
Definition: acwing.cpp:476
AcWing 2014. 岛
Definition: acwing.h:183
static int main(istream &, ostream &)
Definition: acwing.cpp:483
AcWing 607. 平均数2
Definition: acwing.h:191
static int main(istream &, ostream &)
Definition: acwing.cpp:523
AcWing 613. 面积
Definition: acwing.h:199
static int main(istream &, ostream &)
Definition: acwing.cpp:532
AcWing 610. 工资和奖金
Definition: acwing.h:207
static int main(istream &, ostream &)
Definition: acwing.cpp:545
AcWing 614. 最大值
Definition: acwing.h:215
static int main(istream &, ostream &)
Definition: acwing.cpp:554
AcWing 2005. 马蹄铁
Definition: acwing.h:223
static int main(istream &, ostream &)
Definition: acwing.cpp:564
AcWing 617. 距离
Definition: acwing.h:244
static int main(istream &, ostream &)
Definition: acwing.cpp:620
AcWing 618. 燃料消耗
Definition: acwing.h:252
static int main(istream &, ostream &)
Definition: acwing.cpp:627
AcWing 4206. 判断数字
Definition: acwing.h:258
static int main(istream &, ostream &)
Definition: acwing.cpp:635
AcWing 4207. 最长合法括号子序列
Definition: acwing.h:264
static int main(istream &, ostream &)
Definition: acwing.cpp:652
AcWing 1996. 打乱字母
Definition: acwing.h:315
static int main(istream &, ostream &)
Definition: acwing.cpp:770
AcWing 656. 钞票和硬币
Definition: acwing.h:323
static int main(istream &, ostream &)
Definition: acwing.cpp:814
AcWing 655. 天数转换
Definition: acwing.h:329
static int main(istream &, ostream &)
Definition: acwing.cpp:841
AcWing 665. 倍数
Definition: acwing.h:337
static int main(istream &, ostream &)
Definition: acwing.cpp:852
AcWing 657. 选择练习1
Definition: acwing.h:345
static int main(istream &, ostream &)
Definition: acwing.cpp:864
AcWing 1987. 粉刷栅栏
Definition: acwing.h:353
static int main(istream &, ostream &)
Definition: acwing.cpp:878
AcWing 660. 零食
Definition: acwing.h:359
static int main(istream &, ostream &)
Definition: acwing.cpp:936
AcWing 671. DDD
Definition: acwing.h:365
static int main(istream &, ostream &)
Definition: acwing.cpp:945
AcWing 659. 区间
Definition: acwing.h:391
static int main(istream &, ostream &)
Definition: acwing.cpp:1005
AcWing 662. 点的坐标
Definition: acwing.h:399
static int main(istream &, ostream &)
Definition: acwing.cpp:1023
AcWing 1969. 品种邻近
Definition: acwing.h:407
static int main(istream &, ostream &)
Definition: acwing.cpp:1045
AcWing 664. 三角形
Definition: acwing.h:415
static int main(istream &, ostream &)
Definition: acwing.cpp:1072
AcWing 666. 三角形类型
Definition: acwing.h:423
static int main(istream &, ostream &)
Definition: acwing.cpp:1086
AcWing 1960. 闪烁
Definition: acwing.h:431
AcWing 667. 游戏时间
Definition: acwing.h:444
static int main(istream &, ostream &)
Definition: acwing.cpp:1194
AcWing 668. 游戏时间2
Definition: acwing.h:450
static int main(istream &, ostream &)
Definition: acwing.cpp:1206
AcWing 1952. 金发姑娘和 N 头牛
Definition: acwing.h:456
static int main(istream &, ostream &)
Definition: acwing.cpp:1220
AcWing 669. 加薪
Definition: acwing.h:462
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1263
AcWing 672. 税
Definition: acwing.h:468
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1286
AcWing 1945. 奶牛棒球
Definition: acwing.h:474
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1312
AcWing 4210. 数字
Definition: acwing.h:490
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1359
AcWing 4211. 序列重排
Definition: acwing.h:498
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1381
AcWing 670. 动物
Definition: acwing.h:507
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1426
AcWing 663. 简单排序
Definition: acwing.h:513
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1463
AcWing 1934. 贝茜放慢脚步
Definition: acwing.h:519
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1481
AcWing 658. 一元二次方程公式
Definition: acwing.h:527
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1534
AcWing 661. 平均数3
Definition: acwing.h:535
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1551
AcWing 1922. 懒惰的牛
Definition: acwing.h:644
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1752
AcWing 709. 奇数
Definition: acwing.h:650
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1785
AcWing 710. 六个奇数
Definition: acwing.h:656
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1794
AcWing 1913. 公平摄影
Definition: acwing.h:662
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1806
AcWing 712. 正数
Definition: acwing.h:670
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1876
AcWing 711. 乘法表
Definition: acwing.h:678
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1889
AcWing 1904. 奶牛慢跑
Definition: acwing.h:686
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1898
AcWing 714. 连续奇数的和 1
Definition: acwing.h:692
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1920
AcWing 718. 实验
Definition: acwing.h:698
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1939
AcWing 1884. COW
Definition: acwing.h:704
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:1975
AcWing 4212. 字符串比较
Definition: acwing.h:712
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2011
AcWing 4213. 最小结果
Definition: acwing.h:720
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2041
AcWing 4214. 三元组
Definition: acwing.h:730
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2088
AcWing 713. 区间 2
Definition: acwing.h:746
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2145
AcWing 721. 递增序列
Definition: acwing.h:754
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2164
AcWing 719. 连续奇数的和 2
Definition: acwing.h:762
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2178
AcWing 1875. 贝茜的报复
Definition: acwing.h:770
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2204
AcWing 720. 连续整数相加
Definition: acwing.h:776
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2274
AcWing 717. 简单斐波那契
Definition: acwing.h:782
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2289
AcWing 1855. 愤怒的奶牛
Definition: acwing.h:788
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2305
AcWing 724. 约数
Definition: acwing.h:794
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2348
AcWing 722. 数字序列和它的和
Definition: acwing.h:800
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2363
AcWing 1843. 圆形牛棚
Definition: acwing.h:806
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2382
AcWing 723. PUM
Definition: acwing.h:812
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2404
AcWing 725. 完全数
Definition: acwing.h:818
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2420
AcWing 1813. 方块游戏
Definition: acwing.h:842
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2500
AcWing 726. 质数
Definition: acwing.h:848
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2526
AcWing 737. 数组替换
Definition: acwing.h:862
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2568
AcWing 1801. 蹄子剪刀布
Definition: acwing.h:878
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2591
AcWing 4215. 处理字符串
Definition: acwing.h:886
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2640
AcWing 4216. 图中的环
Definition: acwing.h:894
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2654
AcWing 4217. 机器人移动
Definition: acwing.h:902
AcWing 738. 数组填充
Definition: acwing.h:918
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2788
AcWing 741. 斐波那契数列
Definition: acwing.h:926
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2797
AcWing 1789. 牛为什么过马路 II
Definition: acwing.h:932
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2814
AcWing 742. 最小数和它的位置
Definition: acwing.h:944
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2868
AcWing 1776. 牛的基因组学
Definition: acwing.h:950
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2886
AcWing 743. 数组中的行
Definition: acwing.h:956
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:2919
AcWing 1762. 牛的洗牌
Definition: acwing.h:970
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3005
AcWing 1750. 救生员
Definition: acwing.h:978
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3024
AcWing 1738. 蹄球
Definition: acwing.h:1008
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3112
AcWing 4297. 截断数组
Definition: acwing.h:1024
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3177
AcWing 4298. 搭档
Definition: acwing.h:1032
AcWing 1726. 挤奶顺序
Definition: acwing.h:1075
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3358
AcWing 753. 平方矩阵 I
Definition: acwing.h:1081
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3434
AcWing 1715. 桶列表
Definition: acwing.h:1093
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3470
AcWing 756. 蛇形矩阵
Definition: acwing.h:1105
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3515
AcWing 1696. 困牛排序
Definition: acwing.h:1111
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3583
AcWing 760. 字符串长度
Definition: acwing.h:1117
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3597
AcWing 762. 字符串匹配
Definition: acwing.h:1123
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3609
AcWing 1684. 大型植被恢复
Definition: acwing.h:1129
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3624
AcWing 761. 字符串中的数字个数
Definition: acwing.h:1137
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3649
AcWing 768. 忽略大小写比较字符串大小
Definition: acwing.h:1145
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3663
AcWing 1471. 牛奶工厂
Definition: acwing.h:1153
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3693
AcWing 763. 循环相克令
Definition: acwing.h:1159
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3732
AcWing 766. 去掉多余的空格
Definition: acwing.h:1165
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3751
AcWing 1460. 我在哪?
Definition: acwing.h:1171
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3767
AcWing 4299. 删点
Definition: acwing.h:1179
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3792
AcWing 4300. 两种操作
Definition: acwing.h:1187
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3815
AcWing 4301. 截断数列
Definition: acwing.h:1195
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3850
AcWing 765. 字符串加空格
Definition: acwing.h:1203
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3896
AcWing 767. 信息加密
Definition: acwing.h:1211
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3906
AcWing 769. 替换字符
Definition: acwing.h:1217
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3921
AcWing 764. 输出字符串
Definition: acwing.h:1223
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3935
AcWing 1443. 拍照
Definition: acwing.h:1229
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3946
AcWing 773. 字符串插入
Definition: acwing.h:1235
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:3980
AcWing 770. 单词替换
Definition: acwing.h:1241
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4000
AcWing 1672. 疯狂的科学家
Definition: acwing.h:1247
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4021
AcWing 772. 只出现一次的字符
Definition: acwing.h:1253
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4046
AcWing 771. 字符串中最长的连续出现的字符
Definition: acwing.h:1259
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4063
AcWing 774. 最长单词
Definition: acwing.h:1279
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4133
AcWing 775. 倒排单词
Definition: acwing.h:1285
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4150
AcWing 3347. 菊花链
Definition: acwing.h:1291
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4166
AcWing 777. 字符串乘方
Definition: acwing.h:1297
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4201
AcWing 776. 字符串移位包含问题
Definition: acwing.h:1303
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4226
AcWing 4302. 元素分类
Definition: acwing.h:1311
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4236
AcWing 4304. 字符串归类
Definition: acwing.h:1327
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4289
AcWing 778. 字符串最大跨距
Definition: acwing.h:1336
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4333
AcWing 779. 最长公共字符串后缀
Definition: acwing.h:1344
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4351
AcWing 804. n的阶乘
Definition: acwing.h:1350
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4384
AcWing 810. 绝对值
Definition: acwing.h:1357
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4393
AcWing 805. x和y的最大值
Definition: acwing.h:1364
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4400
AcWing 806. 两个数的和
Definition: acwing.h:1371
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4410
AcWing 808. 最大公约数
Definition: acwing.h:1378
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4420
AcWing 807. 区间求和
Definition: acwing.h:1385
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4437
AcWing 811. 交换数值
Definition: acwing.h:1392
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4453
AcWing 809. 最小公倍数
Definition: acwing.h:1399
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4468
AcWing 812. 打印数字
Definition: acwing.h:1406
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4481
AcWing 814. 复制数组
Definition: acwing.h:1413
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4500
AcWing 813. 打印矩阵
Definition: acwing.h:1420
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4535
AcWing 815. 打印字符串
Definition: acwing.h:1427
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4549
AcWing 4305. 斐波那契字符串
Definition: acwing.h:1436
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4562
AcWing 4306. 序列处理
Definition: acwing.h:1444
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4583
AcWing 4307. 数字重构
Definition: acwing.h:1452
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4603
AcWing 819. 递归求阶乘
Definition: acwing.h:1461
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4670
AcWing 816. 数组翻转
Definition: acwing.h:1470
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4684
AcWing 820. 递归求斐波那契数列
Definition: acwing.h:1477
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4708
AcWing 817. 数组去重
Definition: acwing.h:1484
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4722
AcWing 818. 数组排序
Definition: acwing.h:1492
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4742
AcWing 821. 跳台阶
Definition: acwing.h:1499
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4796
AcWing 822. 走方格
Definition: acwing.h:1505
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4816
AcWing 823. 排列
Definition: acwing.h:1511
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4831
static int Fibonacci(int n)
Definition: acwing.cpp:4860
static string leftRotateString(string str, int n)
Definition: acwing.cpp:4873
static string replaceSpaces(string &str)
Definition: acwing.cpp:4883
static int strToInt(string str)
Definition: acwing.cpp:4897
AcWing 4308. 组合字符串
Definition: acwing.h:1552
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4926
AcWing 4309. 消灭老鼠
Definition: acwing.h:1560
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:4944
static int getSum(int n)
Definition: acwing.cpp:5015
static int getNumberOfK(vector< int > &nums, int k)
Definition: acwing.cpp:5117
static vector< int > getLeastNumbers_Solution(vector< int > input, int k)
Definition: acwing.cpp:5133
static int getMissingNumber(vector< int > &nums)
Definition: acwing.cpp:5141
static vector< int > findNumbersWithSum(vector< int > &nums, int target)
Definition: acwing.cpp:5154
static vector< vector< int > > permutation(vector< int > &nums)
Definition: acwing.cpp:5187
static int NumberOf1(int n)
Definition: acwing.cpp:5222
AcWing 862. 三元组排序
Definition: acwing.h:1735
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5271
AcWing 4312. 出现次数
Definition: acwing.h:1751
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5309
AcWing 3346. 你知道你的ABC吗
Definition: acwing.h:1757
static int main(istream &cin, ostream &cout)
Definition: acwing.cpp:5360