AOJ - Problem 0016 : Treasure Hunt
歩数(進む距離)と回転角度が与えられ、最後の位置座標を出力する問題です。
初めこの回転角度を進む角度と勘違いしてWAになりました(ぉぃ
回転角度なので、現在の角度に加算してあげましょう。
たくさんキャストしてしているが、Acceptしたので細かいことは気にしない。
#include <cstdio> #include <cmath> #define PI 3.1415926535898 #define ANGLE (PI/180.0) int main(){ int step,dir; double x=0.0, y=0.0, angle=0.0; while(1){ scanf("%d,%d", &step, &dir); if(step==0 && dir==0) break; x += (double)(step) * sin( angle*ANGLE ); y += (double)(step) * cos( angle*ANGLE ); angle += (double)dir; } printf("%d\n%d\n", (int)x, (int)y); }