結果
| 問題 |
No.620 ぐるぐるぐるりん
|
| コンテスト | |
| ユーザー |
ふぅばぁ
|
| 提出日時 | 2017-12-21 23:22:19 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 794 bytes |
| コンパイル時間 | 1,146 ms |
| コンパイル使用メモリ | 28,928 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-12-17 22:53:06 |
| 合計ジャッジ時間 | 5,817 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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;
puts("0.0 0.0");
}
}
ux = gx - 1.0+v;
uy = gy - w;
printf("%lf %lf\n", ux, uy);
}
return 0;
}
ふぅばぁ