讨论 / 发代码曾RP @cgb 仔细观察变量名
fshp97 2013-11-07 02:28:24
点我顶贴 收藏 删除
#include<stdio.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

#define jz 1000000007

int n,m,kk,cgb;

long long map[1010][1010];

int gcd(int a,int b)

{

if(a%b)

return (gcd(b,a%b));

return (b);

}

void init(void)

{

int i,k;

scanf("%d%d%d",&n,&m,&kk);

cgb=n*(m+1)+m*(n+1);

n++; m++;

for(i=1;i<=n;i++)

map[i][1]=1;

for(i=1;i<=m;i++)

map[1][i]=1;

for(i=2;i<=n;i++)

{

for(k=2;k<=m;k++)

map[i][k]=(map[i-1][k]+map[i][k-1])%jz;

}

return;

}

void run(void)

{

int i,k,j,ans=0;

long long jj;

for(i=1;i<=n;i++)

{

for(k=1;k<=m;k++)

{

jj=(map[i][k-1]*map[n-i+1][m-k+1])%jz;

if(((map[n][m]+jz)-jj)%jz==kk)

ans++;

jj=(map[i-1][k]*map[n-i+1][m-k+1])%jz;

if(((map[n][m]+jz)-jj)%jz==kk)

ans++;

}

}

if(ans==0||cgb==ans)

{

printf("%d\n",ans/cgb);

return;

}

j=gcd(cgb,ans);

printf("%d/%d\n",ans/j,cgb/j);

return;

}

int main(void)

{

init();

run();

return (0);

}

#1 wuxudongtv@2014-05-09 05:50:03
回复 删除
-0-
#2 wuxudongtv@2014-05-09 05:50:18
回复 删除
rp?
查看更多回复
提交回复