{"id":140,"date":"2016-09-27T14:15:57","date_gmt":"2016-09-27T17:15:57","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/competir\/?p=140"},"modified":"2016-09-27T14:22:25","modified_gmt":"2016-09-27T17:22:25","slug":"insensibilidade-obi2008","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/competir\/insensibilidade-obi2008\/","title":{"rendered":"Insensibilidade [OBI 2008]"},"content":{"rendered":"<p style=\"text-align: right;\"><strong>OBI2008 &#8211; Fase 1 &#8211; N\u00edvel J\u00fanior<i> <\/i><\/strong><\/p>\n<p>O planeta Bizz fica a 133 upals de dist\u00e2ncia do planeta Terra (onde &#8220;upals&#8221; \u00e9 uma unidade de medida dada por &#8220;um monte de anos-luz&#8221;), e parece ser o \u00fanico planeta com vida for al\u00e9m do nosso. Este planeta \u00e9 muito interessante, pois, em cada pa\u00eds, seus habitantes t\u00eam uma caracter\u00edstica diferente.<\/p>\n<p>Um desses pa\u00edses \u00e9 a Ceg\u00f4nia, que tem como caracter\u00edstica o fato de que todos os seus habitantes s\u00e3o cegos. Em compensa\u00e7\u00e3o, todos possuem um &#8220;sexto sentido&#8221; acentuado, podendo perceber o que est\u00e1 \u00e0 sua volta mesmo sem enxergar.<\/p>\n<p>Este ano, o governo da Ceg\u00f4nia far\u00e1 um censo, e dentre os dados de seus habitantes, quer saber o quanto de <i>insensibilidade<\/i> cada pessoa possui. A insensibilidade indica qu\u00e3o ruim \u00e9 a capacidade das pessoas de perceber os objetos \u00e0 sua volta sem precisar enxergar.<\/p>\n<p>Tal teste \u00e9 feito da seguinte maneira: a pessoa \u00e9 colocada em uma sala onde encontram-se v\u00e1rios objetos em posi\u00e7\u00f5es pr\u00e9-determinadas. A pessoa deve, ent\u00e3o, dizer quais s\u00e3o as coordenadas de cada objeto dentro da sala.<!--more--><\/p>\n<p>Para cada objeto, calcula-se o quadrado da dist\u00e2ncia entre a posi\u00e7\u00e3o adivinhada pela pessoa e a posi\u00e7\u00e3o real do objeto; esse valor \u00e9 chamado de <i>D<\/i>. O n\u00edvel de insensibilidade da pessoa \u00e9 dado pela soma de todos os <i>D<\/i>.<\/p>\n<p>Por exemplo, suponha que na sala existam 4 objetos, nas coordenadas (1, 1), (3, 4), (5, 7) e (10, 10). Se a pessoa ent\u00e3o disser que os objetos est\u00e3o, respectivamente, nas posi\u00e7\u00f5es (1, 2), (5, 4), (5, 7) e (19, 10), o valor de <i>D<\/i> para cada objeto ser\u00e1 1, 4, 0 e 81 e portanto o n\u00edvel de insensibilidade da pessoa \u00e9 1 + 4 + 0 + 81 = 86.<\/p>\n<p>Voc\u00ea precisa fazer um programa que, dadas as coordenadas verdadeiras dos objetos e as coordenadas indicadas por uma pessoa, diga qual \u00e9 o n\u00edvel de insensibilidade dessa pessoa.<\/p>\n<h3>Entrada<\/h3>\n<p>A entrada cont\u00e9m um \u00fanico conjunto de testes, que deve ser lido do <i>dispositivo de entrada padr\u00e3o<\/i> (normalmente o teclado). A primeira linha da entrada cont\u00e9m um \u00fanico inteiro <i>N<\/i> (1 \u2264 <i>N<\/i> \u2264 1.000), indicando quantos objetos est\u00e3o no quarto. As <i>N<\/i> linhas seguintes cont\u00eam cada uma quatro inteiros <i>X<\/i><sub>1<\/sub>, <i>Y<\/i><sub>1<\/sub>, <i>X<\/i><sub>2<\/sub>, <i>Y<\/i><sub>2<\/sub> (0 \u2264 <i>X<\/i><sub>i<\/sub> \u2264 1000). Cada linha representa um objeto: a posi\u00e7\u00e3o real do objeto \u00e9 (<i>X<\/i><sub>1<\/sub>, <i>Y<\/i><sub>1<\/sub>), e a posi\u00e7\u00e3o onde a pessoa disse estar tal objeto \u00e9 (<i>X<\/i><sub>2<\/sub>, <i>Y<\/i><sub>2<\/sub>).<\/p>\n<h3>Sa\u00edda<\/h3>\n<p>Seu programa deve imprimir, na <i>sa\u00edda padr\u00e3o<\/i>, uma \u00fanica linha, contendo um \u00fanico inteiro, indicando o n\u00edvel de insensibilidade da pessoa estudada.<\/p>\n<p><strong>Exemplos<\/strong><\/p>\n<table style=\"width: 370px; height: 121px;\" border=\"1\" cellspacing=\"2\" cellpadding=\"5\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><strong>Entrada<\/strong><\/td>\n<td style=\"text-align: center;\"><strong>Sa\u00edda<\/strong><\/td>\n<\/tr>\n<tr>\n<td>4<br \/>\n1 1 1 2<br \/>\n3 4 5 4<br \/>\n5 7 5 7<br \/>\n10 10 19 10<\/td>\n<td>86<\/td>\n<\/tr>\n<tr>\n<td>5<br \/>\n0 0 0 0<br \/>\n1 3 1 3<br \/>\n4 10 11 10<br \/>\n2 2 3 3<br \/>\n0 1 0 1<\/td>\n<td>51<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>A quest\u00e3o pode ser acessada atrav\u00e9s do link:\u00a0<a href=\"http:\/\/olimpiada.ic.unicamp.br\/pratique\/programacao\/nivel1\/2008f1p1_insens\" target=\"_blank\">http:\/\/olimpiada.ic.unicamp.br\/pratique\/programacao\/nivel1\/2008f1p1_insens<\/a><\/p>\n<p>Nesse link tamb\u00e9m existe a op\u00e7\u00e3o de testar o algoritmo desenvolvido e ver automaticamente se o algoritmo est\u00e1 correto (bot\u00e3o \u201cSubmete solu\u00e7\u00e3o\u201d). Entre as linguagens de programa\u00e7\u00e3o dispon\u00edvel est\u00e1 Python, que \u00e9 linguagem utilizada na codifica\u00e7\u00e3o presente no v\u00eddeo.<\/p>\n<p><strong>Solu\u00e7\u00e3o em C\/C++<br \/>\n<\/strong><\/p>\n<pre class=\"lang:c decode:true\">#include &lt;stdio.h&gt;\r\n\r\nint main() {\r\n\tint N, i, x1, x2, y1, y2, dx, dy, nivel = 0;\r\n\t\r\n\tscanf(\" %d\", &amp;N);\r\n\tfor (i = 0; i &lt; N; i++) {\r\n\t\tscanf(\" %d %d %d %d\", &amp;x1, &amp;y1, &amp;x2, &amp;y2); \/\/leitura dos valores\r\n\t\tdx = x2 - x1; \/\/determina a distancia em X\r\n\t\tdy = y2 - y1; \/\/determina a distancia em Y\r\n\t\tnivel += dx * dx + dy * dy; \/\/soma de todos os D\r\n\t}\r\n\tprintf(\"%d\\n\", nivel);\r\n\t\r\n\treturn 0;\r\n}<\/pre>\n<p>Experimente esse c\u00f3digo em: <a href=\"http:\/\/ideone.com\/8ea3hL\" target=\"_blank\">http:\/\/ideone.com\/8ea3hL<\/a><\/p>\n<p><strong>Solu\u00e7\u00e3o em Python<br \/>\n<\/strong><\/p>\n<pre class=\"lang:python decode:true\">N = int(input())\r\nnivel = 0\r\nfor i in range(N):\r\n    #leitura dos valores\r\n    x1 = int(input())\r\n    y1 = int(input())\r\n    x2 = int(input())\r\n    y2 = int(input())\r\n    \r\n    dx = x2 - x1 #determina a distancia em X\r\n    dy = y2 - y1 #determina a distancia em Y\r\n    nivel = nivel + (dx * dx + dy * dy) #soma de todos os D\r\n\r\nprint nivel<\/pre>\n<p>Experimente esse c\u00f3digo em: <a href=\"http:\/\/www.codeskulptor.org\/#user42_cMNMkGq45M_0.py\" target=\"_blank\">http:\/\/www.codeskulptor.org\/#user42_cMNMkGq45M_0.py<\/a><\/p>\n<div align=\"center\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>OBI2008 &#8211; Fase 1 &#8211; N\u00edvel J\u00fanior O planeta Bizz fica a 133 upals de dist\u00e2ncia do planeta Terra (onde &#8220;upals&#8221; \u00e9 uma unidade de medida dada por &#8220;um monte de anos-luz&#8221;), e parece ser o \u00fanico planeta com vida for al\u00e9m do nosso. Este planeta \u00e9 muito interessante, pois, em cada pa\u00eds, seus habitantes [&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,5],"tags":[12],"class_list":["post-140","post","type-post","status-publish","format-standard","hentry","category-cc","category-obi","category-python","tag-for"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/140","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=140"}],"version-history":[{"count":2,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/140\/revisions"}],"predecessor-version":[{"id":142,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/posts\/140\/revisions\/142"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/media?parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/categories?post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/competir\/wp-json\/wp\/v2\/tags?post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}