結果
問題 |
No.620 ぐるぐるぐるりん
|
ユーザー |
![]() |
提出日時 | 2017-12-21 23:24:32 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 816 bytes |
コンパイル時間 | 134 ms |
コンパイル使用メモリ | 29,568 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-12-17 22:53:12 |
合計ジャッジ時間 | 4,757 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 28 |
ソースコード
#include <stdio.h> /* x(t+1)=x(t)-y(t)*w+x(t)*v y(t+1)=y(t)+x(t)*w+y(t)*v x(t+1)=x(t)*(1+v)-y(t)*w y(t+1)=y(t)*(1+v)+x(t)*w x(t+1)*(1+v)=x(t)*(1+v)*(1+v)-y(t)*w*(1+v) y(t+1)*w=y(t)*w*(1+v)+x(t)*w*w x(t+1)*(1+v)+y(t+1)*w=x(t)*((1+v)*(1+v)+w*w) x(t+1)*w=x(t)*w*(1+v)-y(t)*w*w y(t+1)*(1+v)=y(t)*(1+v)*(1+v)+x(t)*w*(1+v) y(t+1)*(1+v)-x(t+1)*w=y(t)*((1+v)*(1+v)+w*w) */ int main(void) { int n; scanf("%d", &n); while (n--) { int t; scanf("%d", &t); double p, w, v, gx, gy, ux, uy, z; scanf("%lf%lf%lf%lf%lf", &p,&w,&v,&gx,&gy); z = (1.0+v)*(1.0+v) + w*w; if (t > 1 && z != 0.0) { for (int i=1; i<t; i++) { ux = (gx*(1+v)+gy*w) / z; uy = (gy*(1+v)-gx*w) / z; gx = ux; gy = uy; } } ux = gx - 1.0+v; uy = gy - w; printf("%lf %lf\n", ux, uy); for (int i=1; i<t; i++) puts("0.0 0.0"); } return 0; }