zoukankan      html  css  js  c++  java
  • POJ 2245

    //此题一看便是简单的回溯题用DFS+回溯便可以做出来了、
    #include <iostream>
    #define MAXN 20
    using namespace std;
    
    int _m[MAXN];
    int out[6];
    
    int index;
    
    void DFS(int time);
    
    int n;
    
    int main()
    {
        //freopen("acm.acm","r",stdin);
        
        int i;
        while(cin>>n,n)
        {
            for(i = 0; i < n; ++ i)
            {
                cin>>_m[i];
            }
            index = 0;
            DFS(0);
            cout<<endl;
        }
    }
    
    void DFS(int time)
    {
        if(index == 6)
        {
            int i;
            for(i = 0; i < index; ++ i)
            {
                cout<<out[i]<<" ";
            }
            cout<<endl;
            return;
        }
        if(n - time + index < 6)
        {
            return;
        }
        
        out[index ++] = _m[time];
        DFS(time+1);
        -- index;
        DFS(time+1);
    }
  • 相关阅读:
    优化--工具
    架构
    Gradle
    战争迷雾
    进度管理
    工具
    架构
    牛人
    apk 破解
    效率
  • 原文地址:https://www.cnblogs.com/gavinsp/p/4566733.html
Copyright © 2011-2022 走看看