結果
問題 | No.474 色塗り2 |
ユーザー | Yamyuki |
提出日時 | 2016-12-25 15:09:31 |
言語 | C90 (gcc 11.4.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 875 bytes |
コンパイル時間 | 234 ms |
コンパイル使用メモリ | 23,040 KB |
実行使用メモリ | 24,900 KB |
最終ジャッジ日時 | 2024-12-14 19:05:24 |
合計ジャッジ時間 | 802 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 8 ms
14,464 KB |
testcase_01 | WA | - |
testcase_02 | WA | - |
testcase_03 | WA | - |
testcase_04 | AC | 8 ms
13,312 KB |
コンパイルメッセージ
main.c:6:5: warning: built-in function ‘pow’ declared as non-function [-Wbuiltin-declaration-mismatch] 6 | int pow[2000000]; | ^~~ main.c: In function ‘main’: main.c:27:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 27 | scanf("%ld",&t); | ^~~~~~~~~~~~~~~ main.c:29:17: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 29 | scanf("%lld %ld %ld",&a,&b,&c); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#include<stdio.h> const long long mod=1048576; const long gpow=524287; long long kai[2000000]; int pow[2000000]; int count(long i){ if(i%2==0){ return 1+count(i/2); } return 0; } long long gyaku(long long e,long p){ if(p==0) return 1; if(p%2==1) return gyaku(e*e%mod,p/2)*e%mod; else return gyaku(e*e%mod,p/2); } int main(){ int e; long t,i=0; long b,c; long long a,d; kai[0]=1; scanf("%ld",&t); for(;t>0;t--){ scanf("%lld %ld %ld",&a,&b,&c); if(c%2==0){ printf("0\n"); }else{ for(;i<b+c-1;i++){ if(i%2==0){ kai[i+1]=kai[i]*(i+1)%mod; pow[i+1]=pow[i]; }else{ kai[i+1]=kai[i]; pow[i+1]=(pow[i]+count(i+1))%20; } } d=kai[b+c-1]*gyaku(kai[b],gpow)%mod*gyaku(kai[c-1],gpow)%mod; d=d*c%mod; e=(pow[b+c-1]-pow[b]-pow[c-1]+40)%20; d<<=e; d=(d+a-1)%mod; printf("%d\n",(d&a)==a); } } return 0; }