hdu 6114

来源:互联网 发布:丁丁软件 编辑:程序博客网 时间:2024/06/05 23:02

题目传送门:

假设矩阵的长边为n,短边为m,那么按题意摆放最多能放m个車,题目就转化为我们从1~n里边随意选择m个数,然后把它们按前后顺序挨个放在1~m即可


ac代码:

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn=1e9+7;long long c[1005][1005];void init(){    memset(c,0,sizeof(c));    c[0][0]=c[1][0]=c[1][1]=1;    for(int i=2;i<=1005;i++)    {        c[i][0]=c[i][i]=1;        for(int j=1;j<i;j++)        c[i][j]=(c[i-1][j]+c[i-1][j-1])%maxn;    }}int main(){    int t;    cin>>t;    init();    while(t--)    {        int n,m;        scanf("%d%d",&n,&m);        printf("%lld\n",c[max(m,n)][min(n,m)]);    }    return 0;}


原创粉丝点击