結果

問題 No.474 色塗り2
ユーザー YamyukiYamyuki
提出日時 2016-12-25 10:38:31
言語 C90
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 596 bytes
コンパイル時間 1,161 ms
コンパイル使用メモリ 21,376 KB
実行使用メモリ 24,876 KB
最終ジャッジ日時 2024-12-14 19:02:32
合計ジャッジ時間 673 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 7 ms
16,268 KB
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 AC 7 ms
14,976 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:5:5: warning: built-in function ‘pow’ declared as non-function [-Wbuiltin-declaration-mismatch]
    5 | int pow[2000000];
      |     ^~~
main.c: In function ‘main’:
main.c:10:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   10 |         scanf("%ld",&t);
      |         ^~~~~~~~~~~~~~~
main.c:12:17: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   12 |                 scanf("%ld %ld %ld",&a,&b,&c);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ソースコード

diff #

#include<stdio.h>

const long mod=1048576;
long kai[2000000];
int pow[2000000];
int main(){
	long t,e,i=0;
	long a,b,c,d;
	kai[0]=1;
	scanf("%ld",&t);
	for(;t>0;t--){
		scanf("%ld %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]+1;
				}
			}
			d=(kai[b+c-1]/kai[b]/kai[c-1])*c%mod;
			e=pow[b+c-1]-pow[b]-pow[c-1];
			d=d << e;
			d=(d+a-1)%mod;
			if((d&a)==a){
				printf("1\n");
			}else{
				printf("0\n");
			}
		}
	}
	return 0;
}
0