結果

問題 No.462 6日知らずのコンピュータ
ユーザー butsurizuki
提出日時 2016-12-20 17:09:29
言語 C90
(gcc 12.3.0)
結果
WA  
実行時間 -
コード長 950 bytes
コンパイル時間 164 ms
コンパイル使用メモリ 22,144 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-12-14 11:27:15
合計ジャッジ時間 2,057 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 37 WA * 47
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:23:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   23 |         scanf("%llu%llu",&n,&k);
      |         ^~~~~~~~~~~~~~~~~~~~~~~
main.c:25:31: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   25 |         for(i = 1;i <= k;i++){scanf("%llu",&a[i]);}
      |                               ^~~~~~~~~~~~~~~~~~~

ソースコード

diff #

#include <stdio.h>
#define X 1000000007

unsigned long long int pow2(unsigned long long int k){
	unsigned long long int i,r=1;
	for(i = 1;i <= k;i++){r*=2;}
}

unsigned long long int kaijyo(unsigned long long int k){
	unsigned long long int r=1,i;
	for(i = 1;i <= k;i++){r*=i;r%=X;}
	return r;
}

unsigned long long int bitcount(unsigned long long int k){
	unsigned long long int r=0,i;
	for(i = 1;i <= 64;i++){if(k%2){r++;}k/=2;}
	return r;
}

int main(void) {
	unsigned long long int n,k,a[64],r=1,b[64],c,d=0,i,j;
	scanf("%llu%llu",&n,&k);
	if(k == 0){r = kaijyo(n);printf("%llu\n",r);return 0;}
	for(i = 1;i <= k;i++){scanf("%llu",&a[i]);}
	for(i = 1;i <= k;i++){b[i] = bitcount(a[i]);if(a[i] >= pow2(k+1)){printf("0\n");return 0;}}
	for(i = 1;i <= n;i++){
		d++;
		c = 0;
		for(j = 1;j <= k;j++){
			if(b[j] == i){c++;}
		}
		if(c == 1){r*=kaijyo(d);d=0;}
		if(c >= 2){printf("0\n");return 0;}
	}
	r*=kaijyo(d);
	printf("%llu\n",r);
	return 0;
}
0