トップ 一覧 Farm 検索 ヘルプ RSS ログイン

2002da1.cの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
 // 2002 Probrem A
 // Last update 2004.6.23
 
 #include <stdio.h>
 
 int dist(int a, int b); // 距離を求める関数 √まで求めなくてもいい
 
 int main(void)
 {
 	int N,d,i,j,x,y,max,dx,dy,tx,ty;
 	
 	scanf("%d", &N);
 	
 	for(i=0; i<N; i++){
 		x=y=tx=ty=0;	// (x,y)現在の座標 (tx,ty)宝の座標
 		max=0;
 		while(1){
 			scanf("%d %d", &dx, &dy);
 			if(dx==0 && dy==0) break;
 //			printf("(%d,%d) ", dx, dy);
 			
 			// 現在の座標を更新
 			x+=dx; y+=dy;
 			
 			// 距離を求めて最大の場合更新
 			d=dist(x, y);
 			if(max<d){
 				max=d;
 				tx=x; ty=y;
 			}else if(max==d){ // 同じ距離の場合はx座標が大きい方にする
 				if(tx<x){
 					tx=x; ty=y;
 				}
 			}
 		}
 		printf("%d %d\n", tx, ty);
 	}
 	
 	return 0;
 }
 
 int dist(int a, int b)
 {
 	return(a*a+b*b);
 }
 }