zoukankan      html  css  js  c++  java
  • USACO Zero Sum

    想练练自己的深搜,倔强的不愿意for循环来搞。写了五个参数的dfs最后ac掉了。最先我写的是两个参数的,因为没看清题意以为求的是解的总数,后来才知道要打印出所有解。参数一直加,直到加了五个参数。我的dfs很烂。但慢慢写总会好的。

    View Code
    #include <algorithm>
    #include <iostream>
    #include <cstdlib>
    #include <cstring>
    #include <string>
    #include <cstdio>
    #include <vector>
    
    using namespace std;
    int n,ans,sum;
    char s[100];
    
    void dfs(int cur,int sum,int len,int fa,int last)
    {
        s[len]=cur+'0';
        if(cur==n)
        {
            if(sum==0)
                printf("%s\n",s);
            return;
        }
        for(int i=0;i<3;i++)
        {
            if(i==0)
            {
                len++;
                s[len]=' ';
    
                if(fa==-1)
                    dfs(cur+1,sum*10+cur+1,len+1,fa,last);
    
    //            else if(fa==0)
    //                dfs(cur+1,sum*10+cur+1,len+1,fa);
    
                else if(fa==1)
                    dfs(cur+1,sum-last+(last*10+cur+1),len+1,fa,last*10+cur+1);
    
                else if(fa==2)
                    dfs(cur+1,sum+last-(last*10+cur+1),len+1,fa,last*10+cur+1);
                len--;
            }
            if(i==1)
            {
                len++;
                s[len]='+';
                dfs(cur+1,sum+cur+1,len+1,i,cur+1);
                len--;
            }
            if(i==2)
            {
                len++;
                s[len]='-';
                dfs(cur+1,sum-cur-1,len+1,i,cur+1);
                len--;
            }
        }
        len--;
    }
    
    int main()
    {
        while(~scanf("%d",&n))
        {
            ans=sum=0;
            memset(s,0,sizeof(s));
            dfs(1,1,0,-1,0);
        }
        return 0;
    }

    相信大家有更容易的做法,请多多指教。。

  • 相关阅读:
    jq实现简单的二级联动下拉框
    jq实现多选框及反选
    用js和css实现选项卡效果+jq(2019-10-09)
    python 创建类的实例对象
    selenium——获取元素的尺寸、文本信息、元素的属性、元素是否可见
    selenium——表单嵌套
    selenium控制浏览器
    类的应用
    零散的python知识点
    安装python2、python3
  • 原文地址:https://www.cnblogs.com/RainingDays/p/2944026.html
Copyright © 2011-2022 走看看