hdu4558 仙剑奇缘

来源:互联网 发布:软件项目经理问题答案 编辑:程序博客网 时间:2024/04/29 06:02
中文题,不解释
http://acm.hdu.edu.cn/showproblem.php?pid=4558
#include<stdio.h>#include<iostream>using namespace std;int dp0[480][480][11]={0},dp1[480][480][11]={0};int a[480][480]={0};int main(){    int t;    int i,j,k,r;    int m,n,s;    char b[500];    while(scanf("%d",&t)!=EOF)    {        for(i=1;i<=t;i++)        {            s=0;            scanf("%d%d",&n,&m);            for(j=1;j<=n;j++)            {                scanf("%s",b);                for(k=1;k<=m;k++)                {                    a[j][k]=b[k-1]-'0';                }            }            memset(dp0,0,sizeof(dp0));            memset(dp1,0,sizeof(dp1));            for(j=1;j<=n;j++)                for(k=1;k<=m;k++)                {                    dp0[j][k][a[j][k]]=1;                    for(r=0;r<=10;r++)                    {                        dp0[j][k][r]+=(dp1[j-1][k][(r-a[j][k]+11)%11]+dp1[j][k-1][(r-a[j][k]+11)%11])%1000000007;                        dp1[j][k][r]+=(dp0[j-1][k][(r+a[j][k])%11]+dp0[j][k-1][(r+a[j][k])%11])%1000000007;                        if(r==0)                        {                            s+=(dp0[j][k][r]%1000000007+dp1[j][k][r]%1000000007)%1000000007;                        }                        s=s%1000000007;                    }                }                printf("Case %d: %d\n",i,s);        }    }    return 0;}


原创粉丝点击