{"id":220,"date":"2017-03-30T09:56:05","date_gmt":"2017-03-30T12:56:05","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/competir\/?p=220"},"modified":"2021-06-24T08:14:58","modified_gmt":"2021-06-24T11:14:58","slug":"par-ou-impar-obi2004","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/competir\/par-ou-impar-obi2004\/","title":{"rendered":"Par ou \u00cdmpar [OBI 2004]"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Muitas crian\u00e7as gostam de decidir todas as disputas atrav\u00e9s do famoso jogo de Par ou \u00cdmpar. Nesse jogo, um dos participantes escolhe Par e o outro \u00cdmpar. Ap\u00f3s a escolha, os dois jogadores mostram, simultaneamente, uma certa quantidade de dedos de uma das m\u00e3os. Se a soma dos dedos das m\u00e3os dos dois jogadores for par, vence o jogador que escolheu Par inicialmente, caso contr\u00e1rio vence o que escolheu \u00cdmpar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dada uma sequ\u00eancia de informa\u00e7\u00f5es sobre partidas de Par ou \u00cdmpar (nomes dos jogadores e n\u00fameros que os jogadores escolheram), voc\u00ea deve escrever um programa para indicar o vencedor de cada uma das partidas.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Entrada<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A entrada \u00e9 composta de v\u00e1rios conjuntos de testes. A primeira linha de um conjunto de testes cont\u00e9m um inteiro <strong>N <\/strong>(0 \u2264 <strong>N<\/strong> \u2264 1000), que indica o n\u00famero de partidas de Par ou \u00cdmpar que aconteceram. As duas linhas seguintes cont\u00eam cada uma um nome de jogador. Um nome de jogador \u00e9 uma cadeia de no m\u00ednimo um e no m\u00e1ximo dez letras (mai\u00fasculas e min\u00fasculas), sem espa\u00e7os em branco. As <strong>N<\/strong> linhas seguintes cont\u00eam cada uma dois inteiros <strong>A<\/strong> e <strong>B<\/strong> que representam o n\u00famero de dedos que cada jogador mostrou em cada partida (0 \u2264 <strong>A<\/strong> \u2264 5 e 0 \u2264 <strong>B<\/strong> \u2264 5). Em todas as partidas, o primeiro jogador sempre escolhe Par. O final da entrada \u00e9 indicado por <strong>N<\/strong> = 0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sa\u00edda<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para cada conjunto de teste da entrada, seu programa deve produzir a sa\u00edda da seguinte forma. A primeira linha deve conter um identificador do conjunto de teste, no formato \u201cTeste n\u201d, onde n \u00e9 numerado sequencialmente a partir de 1. As pr\u00f3ximas N linhas devem indicar o nome do vencedor de cada partida. A pr\u00f3xima linha deve ser deixada em branco. A grafia mostrada no Exemplo de\u00a0Sa\u00edda, abaixo, deve ser seguida rigorosamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Exemplo<\/strong><\/p>\n\n\n\n<div class=\"output\">\n<table>\n<thead>\n<tr>\n<td>Entrada<\/td>\n<td>Sa\u00edda<\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"division\">3<br>Pedro<br>Paulo<br>2 4<br>3 5<br>1 0<br>2<br>Claudio<br>Carlos<br>1 5<br>2 3<br>0<\/td>\n<td>Teste 1<br>Pedro<br>Pedro<br>Paulo\n<p>&nbsp;<\/p>\n<p>Teste 2<br>Claudio<br>Carlos<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Solu\u00e7\u00e3o em C<\/strong><\/p>\n<\/div>\n\n\n\n<pre class=\"wp-block-code lang:c decode:true\"><code lang=\"c\" class=\"language-c\">#include &lt;stdio.h&gt;\n\nint main() {\n    int partidas, i, cont, instancia = 0;\n    int a, b, soma;\n\n    scanf(\"%i\", &amp;partidas);\n\n    while (partidas != 0){\n        cont=0;\n    \tchar jog1[11], jog2[11];\n    \tint ganhador[1000]; \/\/0 \u2264 N \u2264 1000\n\n\t\tscanf(\"%s %s\", jog1, jog2);\n\n        for(i = 0; i &lt; partidas; i++)  {\n            \/\/faz a disputa\n            scanf(\"%i %i\", &amp;a, &amp;b);\n            soma = a + b;\n            \n            \/\/verifica quem ganhou\n            if (soma % 2 == 0) {\n            \tganhador[cont] = 1;\n            } else {\n            \tganhador[cont] = 2;\n            }\n            cont++;\n        }\n\n        instancia++;\n        printf(\"Teste %i\\n\", instancia);\n\n\t\t\/\/mostra o nome de quem ganhou cada disputa\n        for(i = 0; i &lt; cont; i++) {\n        \tif (ganhador[i] == 1) {\n        \t\tprintf(\"%s\\n\", jog1);\n        \t} else {\n        \t\tprintf(\"%s\\n\", jog2);\n        \t}\n        }\n\n\t\tprintf(\"\\n\");\n\n\t\t\/\/l\u00ea uma nova quantidade de disputas\n        scanf(\"%i\", &amp;partidas);\n    }\n\n\treturn 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Teste o c\u00f3digo:<\/strong> <a href=\"http:\/\/ideone.com\/5uhC1L\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/ideone.com\/5uhC1L<\/a><\/p>\n\n\n\n<div class=\"output\">\n<p><strong>Solu\u00e7\u00e3o em C++<\/strong><\/p>\n<p>Apenas para dar uma diferenciada com rela\u00e7\u00e3o a solu\u00e7\u00e3o em C, foi utilizada a classe vector em vez de um array primitivo (o vetor). Tamb\u00e9m foi utilizado o desvio condicional tern\u00e1rio em vez do if, mas o funcionamento \u00e9 o mesmo.<\/p>\n<\/div>\n\n\n\n<pre class=\"wp-block-code lang:c++ decode:true\"><code lang=\"c\" class=\"language-c\">#include &lt;iostream&gt;\n#include &lt;vector&gt;\nusing namespace std;\n\nint main() {\n    int partidas, instancia = 0;\n    int a, b, soma;\n    cin &gt;&gt; partidas;\n\n    while (partidas != 0) {\n        char jog1[11], jog2[11];\n        cin &gt;&gt; jog1 &gt;&gt; jog2;\n\n        vector&lt;int&gt; ganhador;\n\n        for(int i = 0; i &lt; partidas; i++) {\n            cin &gt;&gt; a &gt;&gt; b;\n            soma = a + b;\n            ganhador.push_back((soma % 2 == 0) ? 1 : 2); \/\/operador if tern\u00e1rio\n        }\n\n        instancia++;\n        cout &lt;&lt; \"Teste \" &lt;&lt; instancia &lt;&lt; endl;\n\n        for(int i = 0; i &lt; ganhador.size(); i++) {\n            printf(\"%s\\n\", (ganhador.at(i) == 1) ? jog1 : jog2);\n        }\n\n        cout &lt;&lt; \"\\n\";\n\n        cin &gt;&gt; partidas;\n    }\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Teste o c\u00f3digo:<\/strong> <a href=\"http:\/\/ideone.com\/klIyMg\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/ideone.com\/klIyMg<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Muitas crian\u00e7as gostam de decidir todas as disputas atrav\u00e9s do famoso jogo de Par ou \u00cdmpar. Nesse jogo, um dos participantes escolhe Par e o outro \u00cdmpar. Ap\u00f3s a escolha, os dois jogadores mostram, simultaneamente, uma certa quantidade de dedos de uma das m\u00e3os. Se a soma dos dedos das m\u00e3os dos dois jogadores for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,6],"tags":[14,12,16,15],"class_list":["post-220","post","type-post","status-publish","format-standard","hentry","category-cc","category-obi","tag-array","tag-for","tag-vector","tag-vetores"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/comments?post=220"}],"version-history":[{"count":9,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/220\/revisions"}],"predecessor-version":[{"id":335,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/220\/revisions\/335"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/media?parent=220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/categories?post=220"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/tags?post=220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}