• USACO1.5 Mother's Milk【搜索】


    题目传送门

    这道题还记得是我当年学广搜的时候做过。

    如今再做,做了一个$dfs$版本的,比较简单,直接搞就可以了。

    广搜的话,用结构体保存,然后塞到$queue$里面就可以了。

     1 /*
     2 ID: Starry21
     3 LANG: C++
     4 TASK: ariprog                 
     5 */  
     6 #include<iostream>
     7 #include<string>
     8 #include<cstdio>
     9 #include<cstring>
    10 #include<vector>
    11 #include<algorithm>
    12 using namespace std;
    13 #define N 25
    14 #define ll long long
    15 #define INF 0x3f3f3f3f
    16 int a,b,c;
    17 bool vis[25];
    18 bool pd[N][N][N];
    19 void dfs(int A,int B,int C)
    20 {
    21     if(pd[A][B][C]) return ;
    22     pd[A][B][C]=1;
    23     if(A!=0)
    24     {
    25         int delta=min(A,b-B);
    26         if(delta!=0) dfs(A-delta,B+delta,C);
    27         delta=min(A,c-C);
    28         if(delta!=0) dfs(A-delta,B,C+delta);
    29     }
    30     if(B!=0)
    31     {
    32         int delta=min(B,a-A);
    33         if(delta!=0) dfs(A+delta,B-delta,C);
    34         delta=min(B,c-C);
    35         if(delta!=0) dfs(A,B-delta,C+delta);
    36     }
    37     if(C!=0)
    38     {
    39         int delta=min(C,b-B);
    40         if(delta!=0) dfs(A,B+delta,C-delta);
    41         delta=min(C,a-A);
    42         if(delta!=0) dfs(A+delta,B,C-delta);
    43     }
    44     if(A==0)
    45     {
    46         vis[C]=1;
    47         return ;
    48     }
    49     return ;
    50 }
    51 int main() 
    52 {
    53     //freopen("ariprog.in","r",stdin);
    54     //freopen("ariprog.out","w",stdout);
    55     scanf("%d %d %d",&a,&b,&c);
    56     dfs(0,0,c);
    57     for(int i=0;i<=20;i++)
    58         if(vis[i])
    59             printf("%d ",i);
    60     return 0;
    61 }
    Code
  • 相关阅读:
    深入浅出 Redis client/server 交互流程
    VMware三种网络连接模式(转载)
    ARP 原理及攻击
    symbol lookup error:undefined symbol
    printf 颜色格式串"33[34;1m"
    运行openvas
    openvas 安装
    升级openssl 支持TLS1.2
    Windows登录密码明文获取器
    Linux字符串截取和处理命令 cut、printf、awk、sed、sort、wc
  • 原文地址:https://www.cnblogs.com/lyttt/p/11644786.html
Copyright © 2020-2023  润新知