zoukankan      html  css  js  c++  java
  • P2089 烤鸡

    P2089 烤鸡

    题解

         显然这道题可以用DFS做

    注意

    我出现的问题真是太low了

    (1)DFS要return啊要return啊,不然它不就卡在那个循环里出不来了嘛!!

    (2)要判断无解啊!!不仅是一开始的美味值过大,还有美味值超了但是调料没加完,调料加完了美味值不够

    (3)先存res==0&&k==11的合法答案啊,不合法再return啊,不然一个 || 判断直接就无解了

     代码

    #include<bits/stdc++.h>
    
    using namespace std;
    
    int n,num;
    int kaoji[11][4],ans[10010][11],a[11];
    bool vis[11][4];
    
    void dfs(int res,int k)
    {
        
        if(res==0&&k==11)
        {
            num++;
            for(int i=1;i<=10;i++)
              ans[num][i]=a[i];
            
            return ;
        }
        if(res==0) return ;
    if(k==11) return ;

    for(int i=1;i<=3;i++) { if(!vis[k][i]) { res-=kaoji[k][i]; vis[k][i]=1; a[k]=kaoji[k][i]; dfs(res,k+1); res+=kaoji[k][i]; vis[k][i]=0; a[k]=0; } } } int main() { scanf("%d",&n); if(n>30||n<0) { printf("0 "); return 0; } for(int i=1;i<=10;i++) for(int j=1;j<=3;j++) kaoji[i][j]=j; dfs(n,1); printf("%d ",num); for(int i=1;i<=num;i++) { for(int j=1;j<=10;j++) printf("%d ",ans[i][j]); printf(" "); } }
  • 相关阅读:
    Socket规划(1)
    hdu 2391 Filthy Rich
    UDP议定书图像高速传输无损失程序
    C# 通过豆瓣网络编程API获取图书信息
    OS调度算法常用摘要
    mysql回想一下基础知识
    2015第37周三
    2015第37周二
    2015第37周一
    2015第37周一struts2 jstl 标签
  • 原文地址:https://www.cnblogs.com/xiaoyezi-wink/p/11021264.html
Copyright © 2011-2022 走看看