結果
問題 | No.1932 動く点 P / Moving Point P |
ユーザー |
![]() |
提出日時 | 2022-05-11 16:00:45 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 319 ms / 6,000 ms |
コード長 | 534 bytes |
コンパイル時間 | 945 ms |
コンパイル使用メモリ | 30,720 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-19 01:05:53 |
合計ジャッジ時間 | 18,169 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 11 |
コンパイルメッセージ
main.c:2:13: warning: no semicolon at end of struct or union 2 | struct{C r,t} ms[100001]; | ^ main.c:4:1: warning: return type defaults to 'int' [-Wimplicit-int] 4 | main(){ | ^~~~ main.c: In function 'main': main.c:6:9: warning: implicit declaration of function 'scanf' [-Wimplicit-function-declaration] 6 | scanf("%ld",&n); | ^~~~~ main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf' +++ |+#include <stdio.h> 1 | typedef __typeof(1.j) C; main.c:6:9: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch] 6 | scanf("%ld",&n); | ^~~~~ main.c:6:9: note: include '<stdio.h>' or provide a declaration of 'scanf' main.c:12:17: warning: implicit declaration of function 'sincos' [-Wimplicit-function-declaration] 12 | sincos(3.14159265358979/180*r,&s,&c); | ^~~~~~ main.c:26:17: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration] 26 | printf("%f %f\n",mr*(x+y*1j)+mt); | ^~~~~~ main.c:26:17: note: include '<stdio.h>' or provide a declaration of 'printf' main.c:26:17: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch] main.c:26:17: note: include '<stdio.h>' or provide a declaration of 'printf'
ソースコード
typedef __typeof(1.j) C;struct{C r,t} ms[100001];main(){long n;scanf("%ld",&n);ms[0].r=1;ms[0].t=0;for(long i=0;i<n;++i){double p,q,r,c,s;scanf("%lf%lf%lf",&p,&q,&r);sincos(3.14159265358979/180*r,&s,&c);C mr=c+s*1j;C mt=(1-c-s*1j)*(p+q*1j);ms[i+1].r=mr*ms[i].r;ms[i+1].t=mr*ms[i].t+mt;}long q;scanf("%ld",&q);for(long j=0;j<q;++j){long s,t;double x,y;scanf("%ld%ld%lf%lf",&s,&t,&x,&y);C mr=ms[t].r/ms[s-1].r;C mt=mr*-ms[s-1].t+ms[t].t;printf("%f %f\n",mr*(x+y*1j)+mt);}}