X-man

导航

2013年4月24日 #

排列组合算法

摘要: 排列组合有多种实现方法,下面介绍整理的一些方法。一、最简单直接的就是递归原理比较直接:计算一个集合的组合,首先选择一个元算,然后在剩下的集合中选择剩下的元素。看下面的源代码:/***************************计算一个集合的组合*************************/#include<stdlib.h>#include<assert.h>/**************************递归:首先选择一个元素,然后在剩下的集合中选择其余元素************************/typedef struct LiStack{ 阅读全文

posted @ 2013-04-24 22:26 雨钝风轻 阅读(1177) 评论(0) 推荐(0) 编辑

排列组合问题的通用算法

摘要: 排列组合问题的通用算法分类:算法设计2006-05-25 17:2632902人阅读评论(11)收藏举报算法permutationdelete存储class生活 尽管排列组合是生活中经常遇到的问题,可在程序设计时,不深入思考或者经验不足都让人无从下手。由于排列组合问题总是先取组合再排列,并且单纯的排列问题相对简单,所以本文仅对组合问题的实现进行详细讨论。以在n个数中选取m(0<m<=n)个数为例,问题可分解为:1. 首先从n个数中选取编号最大的数,然后在剩下的n-1个数里面选取m-1个数,直到从n-(m-1)个数中选取1个数为止。2. 从n个数中选取编号次小的一个数,继续执行1步, 阅读全文

posted @ 2013-04-24 22:22 雨钝风轻 阅读(152) 评论(0) 推荐(0) 编辑

poj 1002(487-3279)STL中的map

摘要: #include<stdio.h>#include<string>#include<map>#include<algorithm>#include<iostream>using namespace std;string s;string ss;map<char ,char>mc;map<string, int>ms;map<string, int>::iterator it;int main(){ mc['A']='2'; mc['P']='7 阅读全文

posted @ 2013-04-24 22:00 雨钝风轻 阅读(176) 评论(0) 推荐(0) 编辑

hdu 1407(测试你是否和LTC水平一样高)

摘要: #include<stdio.h>int main(){ int sum; int x,y,z; while(scanf("%d",&sum)!=EOF) { for(x=1;x<100;x++) for(y=1;y<100;y++) for(z=1;z<100;z++) if(x*x+y*y+z*z==sum)goto R; R:printf("%d %d %d\n",x,y,z); } return 0;} 阅读全文

posted @ 2013-04-24 12:58 雨钝风轻 阅读(182) 评论(0) 推荐(0) 编辑