fork download
  1. #include<algorithm>
  2. #include<stdio.h>
  3. #define N @
  4. using namespace std;
  5. long long mod=1000000007;
  6. long long inv[N];
  7. long long fact[N];
  8. long long factinv[N];
  9. long long C[N+10][N+10];
  10. // 累乗
  11. long long pow(long long a,long long b){
  12. long long ret=1;long long val=a;
  13. while(b){
  14. if(b%2)ret=ret*val%mod;
  15. val=val*val%mod;
  16. b/=2;
  17. }
  18. return ret;
  19. }
  20. // nCk, nもkも配列に入るくらい
  21. long long C(int a,int b){
  22. return fact[a]*factinv[b]%mod*factinv[a-b]%mod;
  23. }
  24. // nCk, nがでかい
  25. long long C(long long a,int b){
  26. long long ret=1;
  27. for(int i=0;i<b;i++)ret=ret*((a+mod-1)%mod)%mod*inv[i+1]%mod;
  28. return ret;
  29. }
  30. int main() {
  31. //逆元
  32. inv[1]=1;
  33. for(int i=2;i<N;i++)inv[i]=(mod-inv[mod%i]*(mod/i)%mod)%mod;
  34. //階乗
  35. fact[0]=1;
  36. for(int i=1;i<N;i++)fact[i]=fact[i-1]*i%mod;
  37. //階乗の逆元
  38. factinv[0]=1;
  39. for(int i=1;i<N;i++)factinv[i]=factinv[i-1]*inv[i]%mod;
  40. // nCk, n*k個の配列が取れるくらい
  41. C[0][0]=1;
  42. for(int i=0;i<N;i++)for(int j=0;j<=i;j++){
  43. C[i+1][j]=(C[i+1][j]+C[i][j])%mod;
  44. C[i+1][j+1]=(C[i+1][j+1]+C[i][j])%mod;
  45. }
  46. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:6:15: note: in expansion of macro ‘N’
 long long inv[N];
               ^
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:7:16: note: in expansion of macro ‘N’
 long long fact[N];
                ^
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:8:19: note: in expansion of macro ‘N’
 long long factinv[N];
                   ^
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:9:13: note: in expansion of macro ‘N’
 long long C[N+10][N+10];
             ^
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:9:19: note: in expansion of macro ‘N’
 long long C[N+10][N+10];
                   ^
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:33:16: note: in expansion of macro ‘N’
  for(int i=2;i<N;i++)inv[i]=(mod-inv[mod%i]*(mod/i)%mod)%mod;
                ^
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:36:16: note: in expansion of macro ‘N’
  for(int i=1;i<N;i++)fact[i]=fact[i-1]*i%mod;
                ^
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:39:16: note: in expansion of macro ‘N’
  for(int i=1;i<N;i++)factinv[i]=factinv[i-1]*inv[i]%mod;
                ^
prog.cpp:3:11: error: stray ‘@’ in program
 #define N @
           ^
prog.cpp:42:16: note: in expansion of macro ‘N’
  for(int i=0;i<N;i++)for(int j=0;j<=i;j++){
                ^
prog.cpp:6:16: error: storage size of ‘inv’ isn’t known
 long long inv[N];
                ^
prog.cpp:7:17: error: storage size of ‘fact’ isn’t known
 long long fact[N];
                 ^
prog.cpp:8:20: error: storage size of ‘factinv’ isn’t known
 long long factinv[N];
                    ^
prog.cpp: In function ‘long long int C(int, int)’:
prog.cpp:21:24: error: ‘long long int C(int, int)’ redeclared as different kind of symbol
 long long C(int a,int b){
                        ^
prog.cpp:9:11: error: previous declaration of ‘long long int C [10][10]’
 long long C[N+10][N+10];
           ^
prog.cpp: In function ‘long long int C(long long int, int)’:
prog.cpp:25:30: error: ‘long long int C(long long int, int)’ redeclared as different kind of symbol
 long long C(long long a,int b){
                              ^
prog.cpp:9:11: error: previous declaration of ‘long long int C [10][10]’
 long long C[N+10][N+10];
           ^
prog.cpp: In function ‘int main()’:
prog.cpp:33:17: error: expected primary-expression before ‘;’ token
  for(int i=2;i<N;i++)inv[i]=(mod-inv[mod%i]*(mod/i)%mod)%mod;
                 ^
prog.cpp:36:17: error: expected primary-expression before ‘;’ token
  for(int i=1;i<N;i++)fact[i]=fact[i-1]*i%mod;
                 ^
prog.cpp:39:17: error: expected primary-expression before ‘;’ token
  for(int i=1;i<N;i++)factinv[i]=factinv[i-1]*inv[i]%mod;
                 ^
prog.cpp:42:17: error: expected primary-expression before ‘;’ token
  for(int i=0;i<N;i++)for(int j=0;j<=i;j++){
                 ^
prog.cpp: In function ‘long long int C(int, int)’:
prog.cpp:23:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
stdout
Standard output is empty