結果

問題 No.474 色塗り2
コンテスト
ユーザー Yamyuki
提出日時 2016-12-25 15:09:31
言語 C90
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
WA  
実行時間 -
コード長 875 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 209 ms
コンパイル使用メモリ 40,328 KB
最終ジャッジ日時 2026-02-23 23:59:10
ジャッジサーバーID
(参考情報)
judge2 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 1 WA * 3
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:6:5: warning: built-in function 'pow' declared as non-function [-Wbuiltin-declaration-mismatch]
    6 | int pow[2000000];
      |     ^~~

ソースコード

diff #
raw source code

#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;
}
0