TOJ 1134 Lotto深搜

846 ワード

この問題は、問題の意味が簡単で、いくつかの数から6つの左から右への組み合わせを出力します.最も簡単な方法は間違いなく、6サイクルはデータ量が少ないため、6サイクルも0 Ms Acである.しかし、深さで検索し、現在の6つの数字を別の配列で格納することもできます.
テーマの出所:http://acm.tju.edu.cn/toj/showp1134.html
コード:
#include <iostream>
using namespace std;
int n[15];
int t[13],k;//              6  ;
void dfs(int len , int pos)
{
    if(len<=6)
    {
        for(int i=pos; i<k; i++)
        {
            t[len-1]=n[i];
            dfs(len+1,i+1);
        }
    }
    else
    {
        for(int i=0; i<5; i++)
            cout<<t[i]<<" ";
        cout<<t[5]<<endl;
    }
}
int main()
{
    int flag=0;
    while(cin>>k&&k)
    {
        if(flag++>0) cout<<"
"; for(int i=0; i<k; i++) cin>>n[i]; dfs(1,0); } }