本文主要是介绍poj 2245 lotto,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:http://poj.org/problem?id=2245
本题属暴力搜索(递归)。
注意两个点:第一:每组测试数据后都要有空行,除非下次输入k=0。第二:输出结果时每一行的最后一个数的后面不能带有空格。
源代码:
#include <cstdio>
#include <cstring>
#include <algorithm>
const int p=50;
int a[p],bra[p];
int rec[10];
bool mark[10];
int k,q=0;
void dfs(int dep,int t)
{int i,j;if(dep==7){for(i=1;i<=6;i++){if(i==6)printf("%d",rec[i]);elseprintf("%d ",rec[i]);}puts("");q=1;return;}for(j=t;j<=k;j++,t++){rec[dep]=a[j];dfs(dep+1,t+1);}
}
int main()
{while(scanf("%d",&k),k){if(q) puts("");for(int i=1;i<=k;i++){scanf("%d",&a[i]);}memset(mark,0,sizeof(mark));dfs(1,1);}return 0;
}
这篇关于poj 2245 lotto的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!