zoukankan      html  css  js  c++  java
  • [SCOI2008]着色方案

    这个题。。。我截图截了两遍。。。为啥嘞?第一遍没截数据范围。。。

    仔细思考过这个题的人都应该知道了。。。这个题要从数据 ci<=5 做文章

    思路不是很好解释。。。

    emm。。。看代码参悟一下应该就可以了。。。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #define ll long long
    #define mo 1000000007
    using namespace std;
    ll n,t[6],f[16][16][16][16][16][6],x;
    bool l[16][16][16][16][16][6];
    
    ll dp(int a,int b,int c,int d,int e,int k)
    {
        ll ans=0;
        if(l[a][b][c][d][e][k]) return f[a][b][c][d][e][k];
        if(a+b+c+d+e==0) return 1;
        if(a!=0) ans+=(a-(k==2))*dp(a-1,b,c,d,e,1);
        if(b!=0) ans+=(b-(k==3))*dp(a+1,b-1,c,d,e,2);
        if(c!=0) ans+=(c-(k==4))*dp(a,b+1,c-1,d,e,3);
        if(d!=0) ans+=(d-(k==5))*dp(a,b,c+1,d-1,e,4);
        if(e!=0) ans+=(e)*dp(a,b,c,d+1,e-1,5);
        f[a][b][c][d][e][k]=ans%mo;
        l[a][b][c][d][e][k]=1;
        return f[a][b][c][d][e][k];
    }
    
    int main()
    {
        scanf("%d",&n);
        memset(f,-1,sizeof(f));
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&x);
            t[x]++;
        }
        cout<<dp(t[1],t[2],t[3],t[4],t[5],0)%mo;
    }
    呆码
  • 相关阅读:
    WPF 便签项目
    .NET下WPF学习之Socket通信
    DEV控件
    字符串位数补足
    VS2008设置断点不命中
    错误描述: 242000021
    关闭Win10自带的 Windows Defender
    启用与关闭 Ad Hoc Distributed Queries
    Date工具类
    数据字段脱敏
  • 原文地址:https://www.cnblogs.com/zzzyc/p/9004269.html
Copyright © 2011-2022 走看看