L1-072 刮刮彩票 (20 分)

按题意模拟即可。

bool vis[10];
int g[5][5];
int sum[10];
int m;
int mp[]={0,0,0,0,0,0,10000,36,720,360,80,252,108,72,54,180,72,180,119,36,306,1080,144,1800,3600};

void calc()
{
    for(int i=1;i<=3;i++)
        for(int j=1;j<=3;j++)
            sum[i]+=g[i][j];
    for(int j=1;j<=3;j++)
        for(int i=1;i<=3;i++)
            sum[3+j]+=g[i][j];

    for(int i=1;i<=3;i++)
        sum[7]+=g[i][i];
    for(int i=1;i<=3;i++)
        sum[8]+=g[i][4-i];
}

int main()
{
    PII pos;
    for(int i=1;i<=3;i++)
        for(int j=1;j<=3;j++)
        {
            cin>>g[i][j];
            vis[g[i][j]]=true;
            if(!g[i][j]) pos={i,j};
        }

    int num=0;
    for(int i=1;i<=9;i++)
        if(!vis[i])
        {
            num=i;
            break;
        }

    g[pos.fi][pos.se]=num;

    for(int i=0;i<3;i++)
    {
        int a,b;
        cin>>a>>b;
        cout<<g[a][b]<<endl;
    }

    cin>>m;
    calc();
    cout<<mp[sum[m]]<<endl;

    //system("pause");
    return 0;
}
posted @ 2021-04-21 11:17  Dazzling!  阅读(187)  评论(0编辑  收藏  举报