結果

問題 No.117 組み合わせの数
コンテスト
ユーザー testestest
提出日時 2016-12-05 12:16:48
言語 C90
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 178 ms / 5,000 ms
コード長 240 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 167 ms
コンパイル使用メモリ 40,144 KB
最終ジャッジ日時 2026-02-23 23:17:29
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 1
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:1:15: warning: data definition has no type or storage class
    1 | long f[1<<21];P=1e9+7,x,c,r;p(a,i){return i?1L*p(1L*a*a%P,i/2)*(i%2?a:1)%P:1;}main(n){for(gets(f),*f=n;r++<2e6;f[r]=f[r-1]*r%P);for(;x=~scanf(" %c(%d,%d)",&c,&n,&r);printf("%d\n",n<r?0:f[n]*p(f[n-r]*(c%5?f[r]:1)%P,P-2)%P))c&8&&(n+=r)&&n--;}
      |               ^
main.c: In function 'main':
main.c:1:137: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | long f[1<<21];P=1e9+7,x,c,r;p(a,i){return i?1L*p(1L*a*a%P,i/2)*(i%2?a:1)%P:1;}main(n){for(gets(f),*f=n;r++<2e6;f[r]=f[r-1]*r%P);for(;x=~scanf(" %c(%d,%d)",&c,&n,&r);printf("%d\n",n<r?0:f[n]*p(f[n-r]*(c%5?f[r]:1)%P,P-2)%P))c&8&&(n+=r)&&n--;}
      |                                                                                                                                         ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | long f[1<<21];P=1e9+7,x,c,r;p(a,i){return i?1L*p(1L*a*a%P,i/2)*(i%2?a:1)%P:1;}main(n){for(gets(f),*f=n;r++<2e6;f[r]=f[r-1]*r%P);for(;x=~scanf(" %c(%d,%d)",&c,&n,&r);printf("%d\n",n<r?0:f[n]*p(f[n-r]*(c%5?f[r]:1)%P,P-2)%P))c&8&&(n+=r)&&n--;}
main.c:1:166: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
    1 | long f[1<<21];P=1e9+7,x,c,r;p(a,i){return i?1L*p(1L*a*a%P,i/2)*(i%2?a:1)%P:1;}main(n){for(gets(f),*f=n;r++<2e6;f[r]=f[r-1]*r%P);for(;x=~scanf(" %c(%d,%d)",&c,&n,&r);printf("%d\n",n<r?0:f[n]*p(f[n-r]*(c%5?f[r]:1)%P,P-2)%P))c&8&&(n+=r)&&n--;}
      |                                                                                                                                                                      ^~~~~~
main.c:1:166: note: include '<stdio.h>' or provide a declaration of 'printf'
/usr/bin/ld: /tmp/ccXN8bPm.o: in function `main':
main.c:(.text.startup+0x1b): 警告: the `gets' function is dangerous and should not be 

ソースコード

diff #
raw source code

long f[1<<21];P=1e9+7,x,c,r;p(a,i){return i?1L*p(1L*a*a%P,i/2)*(i%2?a:1)%P:1;}main(n){for(gets(f),*f=n;r++<2e6;f[r]=f[r-1]*r%P);for(;x=~scanf(" %c(%d,%d)",&c,&n,&r);printf("%d\n",n<r?0:f[n]*p(f[n-r]*(c%5?f[r]:1)%P,P-2)%P))c&8&&(n+=r)&&n--;}
0