{"id":163,"date":"2017-03-13T14:45:09","date_gmt":"2017-03-13T17:45:09","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/competir\/?p=163"},"modified":"2017-03-16T09:38:48","modified_gmt":"2017-03-16T12:38:48","slug":"elevador-maratona2010","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/competir\/elevador-maratona2010\/","title":{"rendered":"Elevador [Maratona 2010]"},"content":{"rendered":"<div class=\"description\">\n<p>A FCC (F\u00e1brica de Cilindros de Carbono) fabrica v\u00e1rios tipos de cilindros de carbono. A FCC est\u00e1 instalada no d\u00e9cimo andar de um pr\u00e9dio, e utiliza os v\u00e1rios elevadores do pr\u00e9dio para transportar os cilindros. Por quest\u00e3o de seguran\u00e7a, os cilindros devem ser transportados na posi\u00e7\u00e3o vertical; como s\u00e3o pesados, no m\u00e1ximo dois cilindros podem ser transportados em uma \u00fanica viagem de elevador. Os elevadores t\u00eam formato de paralelep\u00edpedo e sempre t\u00eam altura maior que a altura dos cilindros.<\/p>\n<p>Para minimizar o n\u00famero de viagens de elevador para transportar os cilindros, a FCC quer, sempre que poss\u00edvel, colocar dois cilindros no elevador. A figura abaixo ilustra, esquematicamente (vista superior), um caso em que isto \u00e9 poss\u00edvel (a), e um caso em que isto n\u00e3o \u00e9 poss\u00edvel (b):<\/p>\n<p><a href=\"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-content\/uploads\/sites\/5\/2017\/02\/elevador.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-172 size-full\" src=\"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-content\/uploads\/sites\/5\/2017\/02\/elevador.png\" alt=\"\" width=\"476\" height=\"212\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-content\/uploads\/sites\/5\/2017\/02\/elevador.png 476w, http:\/\/www.galirows.com.br\/meublog\/competir\/wp-content\/uploads\/sites\/5\/2017\/02\/elevador-300x134.png 300w\" sizes=\"auto, (max-width: 476px) 100vw, 476px\" \/><\/a><\/p>\n<p>Como existe uma quantidade muito grande de elevadores e de tipos de cilindros, a FCC quer que voc\u00ea escreva um programa que, dadas as dimens\u00f5es do elevador e dos dois cilindros, determine se \u00e9 poss\u00edvel colocar os dois cilindros no elevador.<\/p>\n<\/div>\n<p><!--more--><\/p>\n<p><strong>Entrada<\/strong><\/p>\n<div class=\"input\">\n<p>A entrada cont\u00e9m v\u00e1rios casos de teste. A primeira e \u00fanica linha de cada caso de teste cont\u00e9m quatro n\u00fameros inteiros <strong>L<\/strong>, <strong>C<\/strong>, <strong>R1<\/strong> e <strong>R2<\/strong>, separados por espa\u00e7os em branco, indicando respectivamente a largura do elevador (1 \u2264 <strong>L<\/strong> \u2264 100), o comprimento do elevador (1 \u2264 <strong>C<\/strong> \u2264 100), e os raios dos cilindros (1 \u2264 <strong>R1<\/strong>, <strong>R2<\/strong> \u2264 100).<\/p>\n<p>O \u00faltimo caso de teste \u00e9 seguido por uma linha que cont\u00e9m quatro zeros separados por espa\u00e7os em branco.<\/p>\n<\/div>\n<p><strong>Sa\u00edda<\/strong><\/p>\n<div class=\"output\">\n<p>Para cada caso de teste, o seu programa deve imprimir uma \u00fanica linha com um \u00fanico caractere: \u2018S\u2019 se for poss\u00edvel colocar os dois cilindros no elevador e \u2018N\u2019 caso contr\u00e1rio.<\/p>\n<div class=\"output\"><\/div>\n<table>\n<thead>\n<tr>\n<td>Exemplo de Entrada<\/td>\n<td>Exemplo de Sa\u00edda<\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"division\">11 9 2 3<br \/>\n7 8 3 2<br \/>\n10 15 3 7<br \/>\n8 9 3 2<br \/>\n0 0 0 0<\/td>\n<td>S<br \/>\nN<br \/>\nN<br \/>\nS<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Dica<\/strong><\/p>\n<p>Podemos resolver diretamente alguns casos com uma verifica\u00e7\u00e3o inicial simples: a menor dimens\u00e3o da caixa, seja ela a largura ou a altura, deve ser suficientemente grande para que a circunfer\u00eancia de maior <b>di\u00e2metro<\/b> possa ser colocada l\u00e1.<\/p>\n<p>Devemos agora colocar as duas circunfer\u00eancias lado a lado, de modo que elas se tangenciam e tangenciam uma mesma aresta do ret\u00e2ngulo dado. \u00c9 nesta posi\u00e7\u00e3o que elas ocupam o menor espa\u00e7o poss\u00edvel, e a dist\u00e2ncia entre os centros \u00e9 m\u00ednima. Seja <span id=\"MathJax-Element-5-Frame\" class=\"MathJax\" tabindex=\"0\" data-mathml=\"&lt;math xmlns=&quot;http:\/\/www.w3.org\/1998\/Math\/MathML&quot;&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;\/math&gt;\"><span id=\"MathJax-Span-15\" class=\"math\"><span id=\"MathJax-Span-16\" class=\"mrow\"><span id=\"MathJax-Span-17\" class=\"mi\">R<\/span><\/span><\/span><\/span> o segmento que liga os centros das circunfer\u00eancias (<span id=\"MathJax-Element-6-Frame\" class=\"MathJax\" tabindex=\"0\" data-mathml=\"&lt;math xmlns=&quot;http:\/\/www.w3.org\/1998\/Math\/MathML&quot;&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;mo&gt;=&lt;\/mo&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;mn&gt;1&lt;\/mn&gt;&lt;mo&gt;+&lt;\/mo&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;mn&gt;2&lt;\/mn&gt;&lt;\/math&gt;\"><span id=\"MathJax-Span-18\" class=\"math\"><span id=\"MathJax-Span-19\" class=\"mrow\"><span id=\"MathJax-Span-20\" class=\"mi\">R<\/span><span id=\"MathJax-Span-21\" class=\"mo\">=<\/span><span id=\"MathJax-Span-22\" class=\"mi\">R<\/span><span id=\"MathJax-Span-23\" class=\"mn\">1<\/span><span id=\"MathJax-Span-24\" class=\"mo\">+<\/span><span id=\"MathJax-Span-25\" class=\"mi\">R<\/span><span id=\"MathJax-Span-26\" class=\"mn\">2<\/span><\/span><\/span><\/span>). \u00c9 f\u00e1cil perceber que conseguimos construir um trap\u00e9zio ligando os centros das circunfer\u00eancias \u00e0 aresta que foi tangenciada. Desse trap\u00e9zio, extra\u00edmos um tri\u00e2ngulo ret\u00e2ngulo cuja hipotenusa \u00e9 justamente <span id=\"MathJax-Element-7-Frame\" class=\"MathJax\" tabindex=\"0\" data-mathml=\"&lt;math xmlns=&quot;http:\/\/www.w3.org\/1998\/Math\/MathML&quot;&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;\/math&gt;\"><span id=\"MathJax-Span-27\" class=\"math\"><span id=\"MathJax-Span-28\" class=\"mrow\"><span id=\"MathJax-Span-29\" class=\"mi\">R<\/span><\/span><\/span><\/span>.<\/p>\n<p>Agora, podemos afastar as duas circunfer\u00eancias o m\u00e1ximo poss\u00edvel, colocando-as em extremidades diagonalmente opostas da caixa. Conseguimos construir um segundo trap\u00e9zio ligando os centros a uma mesma aresta, e dele extrair um segundo tri\u00e2ngulo ret\u00e2ngulo de hipotenusa <span id=\"MathJax-Element-8-Frame\" class=\"MathJax\" tabindex=\"0\" data-mathml=\"&lt;math xmlns=&quot;http:\/\/www.w3.org\/1998\/Math\/MathML&quot;&gt;&lt;msup&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;mo&gt;&amp;#x2032;&lt;\/mo&gt;&lt;\/msup&gt;&lt;\/math&gt;\"><span id=\"MathJax-Span-30\" class=\"math\"><span id=\"MathJax-Span-31\" class=\"mrow\"><span id=\"MathJax-Span-32\" class=\"msup\"><span id=\"MathJax-Span-33\" class=\"mi\">R<\/span><span id=\"MathJax-Span-34\" class=\"mo\">\u2032<\/span><\/span><\/span><\/span><\/span>. O comprimento de <span id=\"MathJax-Element-9-Frame\" class=\"MathJax\" tabindex=\"0\" data-mathml=\"&lt;math xmlns=&quot;http:\/\/www.w3.org\/1998\/Math\/MathML&quot;&gt;&lt;msup&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;mo&gt;&amp;#x2032;&lt;\/mo&gt;&lt;\/msup&gt;&lt;\/math&gt;\"><span id=\"MathJax-Span-35\" class=\"math\"><span id=\"MathJax-Span-36\" class=\"mrow\"><span id=\"MathJax-Span-37\" class=\"msup\"><span id=\"MathJax-Span-38\" class=\"mi\">R<\/span><span id=\"MathJax-Span-39\" class=\"mo\">\u2032<\/span><\/span><\/span><\/span><\/span> \u00e9 a dist\u00e2ncia m\u00e1xima, dentro da caixa, entre os centros das circunfer\u00eancias.<\/p>\n<p>Se <span id=\"MathJax-Element-10-Frame\" class=\"MathJax\" tabindex=\"0\" data-mathml=\"&lt;math xmlns=&quot;http:\/\/www.w3.org\/1998\/Math\/MathML&quot;&gt;&lt;msup&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;mo&gt;&amp;#x2032;&lt;\/mo&gt;&lt;\/msup&gt;&lt;mo&gt;&amp;gt;&lt;\/mo&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;\/math&gt;\"><span id=\"MathJax-Span-40\" class=\"math\"><span id=\"MathJax-Span-41\" class=\"mrow\"><span id=\"MathJax-Span-42\" class=\"msup\"><span id=\"MathJax-Span-43\" class=\"mi\">R<\/span><span id=\"MathJax-Span-44\" class=\"mo\">\u2032<\/span><\/span><span id=\"MathJax-Span-45\" class=\"mo\">&gt;<\/span><span id=\"MathJax-Span-46\" class=\"mi\">R<\/span><\/span><\/span><\/span>, os c\u00edrculos cabem na caixa, e respondemos <b>S<\/b>. Se <span id=\"MathJax-Element-11-Frame\" class=\"MathJax\" tabindex=\"0\" data-mathml=\"&lt;math xmlns=&quot;http:\/\/www.w3.org\/1998\/Math\/MathML&quot;&gt;&lt;msup&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;mo&gt;&amp;#x2032;&lt;\/mo&gt;&lt;\/msup&gt;&lt;mo&gt;&amp;lt;&lt;\/mo&gt;&lt;mi&gt;R&lt;\/mi&gt;&lt;\/math&gt;\"><span id=\"MathJax-Span-47\" class=\"math\"><span id=\"MathJax-Span-48\" class=\"mrow\"><span id=\"MathJax-Span-49\" class=\"msup\"><span id=\"MathJax-Span-50\" class=\"mi\">R<\/span><span id=\"MathJax-Span-51\" class=\"mo\">\u2032<\/span><\/span><span id=\"MathJax-Span-52\" class=\"mo\">&lt;<\/span><span id=\"MathJax-Span-53\" class=\"mi\">R<\/span><\/span><\/span><\/span>, temos que na situa\u00e7\u00e3o de afastamento m\u00e1ximo existe uma interse\u00e7\u00e3o entre os c\u00edrculos , ou seja, os c\u00edrculos n\u00e3o cabem na caixa. Assim, respondemos <b>N<\/b>.<\/p>\n<p style=\"text-align: right;\"><em>Dica retirada de: <a href=\"http:\/\/wiki.maratona.dcc.ufmg.br\/index.php\/ELEVADOR\" target=\"_blank\">http:\/\/wiki.maratona.dcc.ufmg.br\/index.php\/ELEVADOR<\/a><\/em><\/p>\n<p><strong>Solu\u00e7\u00e3o em C<\/strong><\/p>\n<pre class=\"lang:c decode:true \">#include &lt;stdio.h&gt;\r\n#include &lt;math.h&gt;\r\n\r\nint main() {\r\n\tint l, c, r1, r2, maior;\r\n\tchar saida;\r\n\t\r\n\twhile ( scanf(\"%i %i %i %i\",&amp;l, &amp;c, &amp;r1, &amp;r2) ) {\r\n\t\tif(l == 0 &amp;&amp; c == 0 &amp;&amp; r1 == 0 &amp;&amp; r2 == 0) { return 0; }\r\n\t\t\/\/o teste poderia ser: l+c+r1+r2 == 0\r\n\t\t\/\/como os numeros sao sempre positivos, nao teria problema\r\n\t\t\r\n\t\tsaida = 'N';\r\n\t\tif (r1 &gt; r2) {\r\n\t\t\tmaior = r1 + r1;\r\n\t\t} else {\r\n\t\t\tmaior = r2 + r2;\r\n\t\t}\r\n\t\r\n\t\tif(maior &lt;= l &amp;&amp; maior &lt;= c) {\r\n\t\t\tif(sqrt(pow((l - r2 - r1), 2) + pow((c - r2 - r1), 2)) &gt;=  r1 + r2) {\r\n\t\t\t\tsaida = 'S';\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tprintf(\"%c\\n\",saida);\t\r\n\t}\t\r\n\treturn 0;\r\n}<\/pre>\n<\/div>\n<p><strong>Teste o c\u00f3digo:<\/strong> <a href=\"http:\/\/ideone.com\/MW0fbR\" target=\"_blank\">http:\/\/ideone.com\/MW0fbR<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A FCC (F\u00e1brica de Cilindros de Carbono) fabrica v\u00e1rios tipos de cilindros de carbono. A FCC est\u00e1 instalada no d\u00e9cimo andar de um pr\u00e9dio, e utiliza os v\u00e1rios elevadores do pr\u00e9dio para transportar os cilindros. Por quest\u00e3o de seguran\u00e7a, os cilindros devem ser transportados na posi\u00e7\u00e3o vertical; como s\u00e3o pesados, no m\u00e1ximo dois cilindros podem [&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,7],"tags":[13],"class_list":["post-163","post","type-post","status-publish","format-standard","hentry","category-cc","category-maratona-de-programacao","tag-geometria-computacional"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/163","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=163"}],"version-history":[{"count":9,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/163\/revisions"}],"predecessor-version":[{"id":202,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/163\/revisions\/202"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/media?parent=163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/categories?post=163"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/tags?post=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}