結果
問題 |
No.462 6日知らずのコンピュータ
|
ユーザー |
|
提出日時 | 2016-12-20 17:04:10 |
言語 | C90 (gcc 12.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 785 bytes |
コンパイル時間 | 520 ms |
コンパイル使用メモリ | 22,016 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-12-14 11:27:13 |
合計ジャッジ時間 | 2,556 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 56 WA * 28 |
コンパイルメッセージ
main.c: In function ‘main’: main.c:18:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 18 | scanf("%llu%llu",&n,&k); | ^~~~~~~~~~~~~~~~~~~~~~~ main.c:20:31: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 20 | for(i = 1;i <= k;i++){scanf("%llu",&a[i]);} | ^~~~~~~~~~~~~~~~~~~
ソースコード
#include <stdio.h> #define X 1000000007 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]);} 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; }