zoukankan      html  css  js  c++  java
  • 骑士SGU223

     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 typedef long long ll;
     5 #define debug(x) cout<<#x<<" = "<<x<<endl;
     6 const int maxn=1207;
     7 ll n,kk,s_num;
     8 ll ans=0,f[20][207][117];
     9 ll s[maxn],cnt[maxn];
    10 void prepare(){
    11     ll i,j,k;
    12     for(i=0;i<(1<<n);i++){
    13         k=0; 
    14         if(i&(i<<1)) continue;
    15         for(j=0;j<n;j++){
    16             if(i&(1<<j)) k++;
    17         }
    18         s[++s_num]=i;
    19         cnt[s_num]=k;
    20     }
    21 }
    22 void process(){
    23     f[0][1][0]=1;
    24     for(int i=1;i<=n;i++){
    25         for(int j=1;j<=s_num;j++){
    26             for(int nu=0;nu<=kk;nu++){
    27                 if(nu<cnt[j]) continue;
    28                 for(int k=1;k<=s_num;k++){
    29                     if((s[j]&s[k])||(s[j]&(s[k]<<1))||(s[j]&(s[k]>>1))) continue;
    30                     f[i][j][nu]+=f[i-1][k][nu-cnt[j]];
    31                 }
    32             }
    33         }
    34     }
    35     for(int i=1;i<=s_num;i++) ans+=f[n][i][kk]; 
    36 }
    37 int main(){
    38     cin>>n>>kk;
    39     prepare();
    40     process();
    41     cout<<ans<<endl;
    42     return 0;
    43 }

     这样差不多的题目还有牧场的安排,炮兵阵地啥的......

  • 相关阅读:
    C语言博客作业04--数组
    DS博客作业04--树大作业
    Java课程设计
    JAVA课设-五子棋-团队博客
    yue
    Java扫雷设计
    java课设--五子棋
    软件工程-个人总结
    JAVA课程设计个人博客
    JAVA第09次实验(IO流)
  • 原文地址:https://www.cnblogs.com/lcan/p/9573773.html
Copyright © 2011-2022 走看看