CODE FESTIVAL 2016 Grand Final

Submission #1193072

Source codeソースコード

#include <cstdio>
#define N 10003
#define IL inline
#define REP(a,b,c) for(a=b;a<=c;a++)
#define PER(a,b,c) for(a=b;a>=c;a--)
using namespace std;
typedef long long lol;
const lol mod=1e9+7;
int n,a,b,c;lol fac[N],inv[N];
IL lol C(int n,int m){return fac[n]*inv[m]%mod*inv[n-m]%mod;}
IL lol qpow(lol a,int b){lol res=1;while(b){if(b&1)res=res*a%mod;a=a*a%mod,b>>=1;}return res;}
IL lol f(int n,int m){
	if(!n)return m==0;
	return C(n+m-1,m)*inv[n]%mod;
}
int main(){
  scanf("%d%d%d%d",&n,&a,&b,&c);fac[0]=1;int x1,x2,x3,x4,S,up=n<<1,ans=0;
	if(b&1){printf("0");return 0;}
	REP(x1,1,up)fac[x1]=fac[x1-1]*x1%mod;inv[up]=qpow(fac[up],mod-2);
  PER(x1,up,1)inv[x1-1]=inv[x1]*x1%mod;
	x4=b>>1;
	for(x2=0;x2<=a&&x2<=c;x2++)
		for(x1=a-x2,S=c-x2,x3=0;S>=0;x3++,S-=3)
			ans=(ans+fac[x1+x2+x3+x4]*inv[x1]%mod*inv[x2]%mod*inv[x3]%mod*f(x4,S))%mod;
	printf("%d",ans);
  return 0;
}

Submission

Task問題 J - 123 Pairs
User nameユーザ名 mytryer
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 1500
Source lengthソースコード長 898 Byte
File nameファイル名
Exec time実行時間 15 ms
Memory usageメモリ使用量 256 KB

Compiler messageコンパイルメッセージ

./Main.cpp: In function ‘int main()’:
./Main.cpp:17:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d%d",&n,&a,&b,&c);fac[0]=1;int x1,x2,x3,x4,S,up=n<<1,ans=0;
^

Test case

Set

Set name Score得点 / Max score Cases
Sample - example0.txt,example1.txt
All 1500 / 1500 000.txt,001.txt,002.txt,003.txt,004.txt,005.txt,006.txt,007.txt,008.txt,009.txt,010.txt,011.txt,012.txt,013.txt,014.txt,015.txt,016.txt,017.txt,018.txt,019.txt,020.txt,021.txt,022.txt,023.txt,024.txt,025.txt,026.txt,027.txt,028.txt,029.txt,030.txt,031.txt,032.txt,033.txt,034.txt,035.txt,036.txt,037.txt,038.txt,039.txt,040.txt,041.txt,042.txt,043.txt,044.txt,045.txt,046.txt,047.txt,048.txt,049.txt,example0.txt,example1.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
000.txt AC 8 ms 256 KB
001.txt AC 1 ms 256 KB
002.txt AC 1 ms 256 KB
003.txt AC 1 ms 256 KB
004.txt AC 1 ms 256 KB
005.txt AC 1 ms 256 KB
006.txt AC 1 ms 256 KB
007.txt AC 1 ms 256 KB
008.txt AC 1 ms 256 KB
009.txt AC 1 ms 256 KB
010.txt AC 1 ms 256 KB
011.txt AC 1 ms 256 KB
012.txt AC 1 ms 256 KB
013.txt AC 1 ms 128 KB
014.txt AC 1 ms 128 KB
015.txt AC 12 ms 256 KB
016.txt AC 1 ms 256 KB
017.txt AC 4 ms 256 KB
018.txt AC 1 ms 256 KB
019.txt AC 4 ms 256 KB
020.txt AC 2 ms 256 KB
021.txt AC 10 ms 256 KB
022.txt AC 2 ms 256 KB
023.txt AC 3 ms 256 KB
024.txt AC 11 ms 256 KB
025.txt AC 2 ms 256 KB
026.txt AC 6 ms 256 KB
027.txt AC 10 ms 256 KB
028.txt AC 4 ms 256 KB
029.txt AC 5 ms 256 KB
030.txt AC 10 ms 256 KB
031.txt AC 11 ms 256 KB
032.txt AC 1 ms 256 KB
033.txt AC 1 ms 128 KB
034.txt AC 4 ms 256 KB
035.txt AC 6 ms 256 KB
036.txt AC 2 ms 256 KB
037.txt AC 1 ms 128 KB
038.txt AC 15 ms 256 KB
039.txt AC 1 ms 128 KB
040.txt AC 1 ms 128 KB
041.txt AC 3 ms 256 KB
042.txt AC 1 ms 256 KB
043.txt AC 1 ms 128 KB
044.txt AC 1 ms 128 KB
045.txt AC 1 ms 128 KB
046.txt AC 1 ms 128 KB
047.txt AC 1 ms 128 KB
048.txt AC 1 ms 128 KB
049.txt AC 1 ms 128 KB
example0.txt AC 1 ms 128 KB
example1.txt AC 1 ms 128 KB