poj2245 Lotto

http://poj.org/problem?id=2245

解题思路:本题为深度优先搜索基础题,没有很多的条件,只要从前到后,凑足6个数即可。

给出一个n,后面是n个用空格隔开的数字最后一组测试案例的n为0,不用处理最后一组数据。要求从前到后找出任意一组6个数,输出所有满足要求的数(组)。每组数占一行,两组测试案例的输出中间隔一个空行,最后一个测试案例的数据输出后不要输出空行。

简单深度优先搜索,只要搜到的,当前保存的数组中的数字有6个就输出。

(1)定义n用于记录当前测试数据的数据个数;定义一个数组num[],用于存储当前测试数据的操作数据(除n外);定义一个数组out[]用于存储挑选(搜索)出来的数。

(2)定义一个函数dfs(int i,int many) ,用于搜索目标输出数,i表示上次搜索到的数在存储操作数据数组中的位置的下一个位置,即这次搜索要开始的位置,保证搜到的数据是从前到后出现的;many表示当前输出数组中的已搜到的数据的个数,也是这次搜到数据存储在输出数组的位置的下标,当many等于6时,表示已经搜索到一组符合题意的数,当即输出,继续搜索。搜索结束时,所有满足要求的数的组合已经全部输出。否则,搜索逐个后面未搜索的所有数据。

12053720 20114045007 2245 Accepted 116K 0MS C++ 698B 2013-08-29 22:43:18
#include<stdio.h>
#include<string.h>
int n,num[14],vist[14];
int out[8];
void dfs(int i,int many)
{if(many==6)  //一组数据搜索完成{printf("%d",out[0]);   //输出该组数据for(int j=1;j<6;j++)printf(" %d",out[j]);printf("\n");return ;}for(;i<n;i++)  //逐个搜索后面的数字{ if(!vist[i])  //若该数字(据)未处理过(在本次搜索中),则进行处理,否则,跳过{out[many]=num[i];vist[i]=1;dfs(i+1,many+1);vist[i]=0;}}
}
int main()
{int j=0;while(scanf("%d",&n)&&n){if(j)printf("\n");   //两组测试数据的输出数据中间有空格for(int i=0;i<n;i++)scanf("%d",&num[i]);memset(vist,0,sizeof(vist));dfs(0,0);j=1;}return 0;
}

poj2245 Lotto相关推荐

  1. Lotto POJ-2245

    原题:POJ-2245 #include <iostream> #include <cstdio> using namespace std;int n; int num[20] ...

  2. pwnable.kr lotto题解

    ssh lotto@pwnable.kr -p2222 (pw:guest) 题目源码: #include <stdio.h> #include <stdlib.h> #inc ...

  3. pwnable.kr lotto之write up

    源代码 : #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcnt ...

  4. HDU 3105 Fred's Lotto Tickets(数学题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3105 Problem Description Fred likes to play the lotto ...

  5. 【UVa】441 - Lotto

    Problem In the German Lotto you have to select 6 numbers from the set {1,2,-,49}. A popular strategy ...

  6. PWN lotto [pwnable.kr]CTF writeup题解系列10

    目录 0x01题目 0x02解题思路 0x03题解 0x01题目 0x02解题思路 下载文件,检查一下情况 root@mypwn:/ctf/work/pwnable.kr# ssh lotto@pwn ...

  7. pwnable 题目解析:[Toddler's Bottle]-lotto 逻辑漏洞

    0x10 题目描述 Mommy! I made a lotto program for my homework. do you want to play?ssh lotto@pwnable.kr -p ...

  8. 隐马尔科夫模型研究 stock 以及 lotto

    说明 本文参考了这里 由于数据是连续的,因此使用了高斯隐马尔科夫模型:gaussianHMM 一.stock代码 import tushare as ts import pandas as pd im ...

  9. Lotto(DFS处理)

    题目再现 题目内容: 给定N个数字,再从中选定M个数字出来. 将每一种组合内的数字由小到大排列之后, 将所有组合按照字典序排列, 请你找出第X组的第Y个数字. 给定的数字为1~N. 范例1 (N,M, ...

最新文章

  1. 贝叶斯分类器期望损失函数理解及衍生的全新理解
  2. python逻辑运算(not、and、or)总结_python逻辑判断 () not and or
  3. 1.确保容器中的对象拷贝正确而高效
  4. Java高级:mysqllimit两个参数
  5. java rsa 公钥加密_java – 使用公钥进行RSA解密
  6. 【OpenCV】OpenCV函数精讲之 -- imread()函数
  7. nginx自定义日志
  8. 再话新基建丨国产、开源、云原生,数据库路在何方?
  9. 国内达梦数据库相关函数-时间日期
  10. 阶段3 2.Spring_07.银行转账案例_1 今日课程内容介绍
  11. vue仿网易云音乐播放器
  12. Ubuntu18.04安装英伟达显卡驱动
  13. 如何在官网验证cka证书
  14. Unity AIUI
  15. 程序员生涯快一年感悟
  16. Queuing HDU2604
  17. 计算机工程科学怎么翻译,汉英机器翻译中汉语篇章时间信息系统模型 - 计算机工程与科学.pdf...
  18. LiveVISGAT1400视图库服务-支持海康大华华为宇视天地伟业等设备视图库接入使用说明
  19. 帆软报表 oracle,帆软报表+SQLITE 使用小结
  20. vscode高逼格敲代码特效

热门文章

  1. intel 服务器芯片8180,Intel Xeon Platinum 8180M报价52000
  2. java 如何使用ocr_Java使用tess4J进行OCR图像识别
  3. KYC 技术详解:对金融行业与隐私合规的价值和意义
  4. 超星2017大学计算机基础答案 全,超星2017大学计算机基础答案(全)
  5. openlayers画虚线 (十四)
  6. 学校计算机机械设备管理制度,学校微机室管理制度
  7. 郑州轨道交通2050规划图
  8. C++ | C++ 重载运算符和重载函数
  9. SSR 配置postcss 自动将px转化为rem
  10. Openjudge-NOI题库-和数