Solução por Rogério Júnior
A distância entre a posição real do objeto (, ) e a posição onde a pessoa disse que ele está (, ) é dada por , logo o quadrado dessa distância é .
Vamos declarar a variável resp, de valor inicial igual a zero, para guardarmos o valor da resposta. Logo, basta fazermos um programa que declara e lê o valor de n e depois usa um for para, em cada uma das n linhas seguintes da entrada, declarar e ler os valores de x1, y1, x2, y2 ("scanf(%d %d %d %d", &x1, &y1, &x2, &y2);") e somar a resp o valor de ("resp+=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);"). Após a leitura da entrada, basta imprimirmos o valor salvo em resp, seguido da quebra de linha ("printf("%d\n", resp);"). Segue o código para melhor entendimento:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <cstdio> | |
int n, resp; | |
int main(){ | |
// leio o valor de n | |
scanf("%d", &n); | |
// para cada uma das n linhas seguintes da entrada | |
for(int i=1; i<=n; i++){ | |
// declaro e leio os valores de x1, y1, x2 e y2 | |
int x1, y1, x2, y2; | |
scanf("%d %d %d %d", &x1, &y1, &x2, &y2); | |
// e somo em resp o quadrado da distância entre (x1, y1) e (x2, y2) | |
resp+=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); | |
} | |
// após a leitura da entrada, imprimo uma linha com o valor de resp | |
printf("%d\n", resp); | |
return 0; | |
} | |