2013年5月6日

poj 2924

摘要: DescriptionJohann Carl Friedrich Gauß (1777 – 1855) was one of the most important German mathematicians. For those of you who remember the Deutsche Mark, a picture of him was printed on the 10 – DM bill. In elementary school, his teacher J. G. Büttner tried to occupy the pupils by making t 阅读全文

posted @ 2013-05-06 22:37 nigel_jw 阅读(164) 评论(0) 推荐(0)

poj 2027

摘要: DescriptionZombies love to eat brains. Yum.InputThe first line contains a single integer n indicating the number of data sets. The following n lines each represent a data set. Each data set will be formatted according to the following description: A single data set consists of a line "X Y" 阅读全文

posted @ 2013-05-06 22:36 nigel_jw 阅读(195) 评论(0) 推荐(0)

poj 1004

摘要: DescriptionLarry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. Larry has decided that he needs to grab hold of his financial portfolio and solve his financing problems. The first step is to figure out what's been going on with 阅读全文

posted @ 2013-05-06 22:34 nigel_jw 阅读(123) 评论(0) 推荐(0)

顺时针螺旋打印数字

摘要: 从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如: 输入数字2,则程序输出: 1 2 4 3 输入数字3,则程序输出: 1 2 3 8 9 4 7 6 5 输入数字4, 则程序输出: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 解题:代码却是写的有点烂,没办法,可能现在局限与现在的思维水平。View Code 1 #include<iostream> 2 using namespace std; 3 4 int map[1000][1000]; 5 6 int main() 7 阅读全文

posted @ 2013-05-06 22:30 nigel_jw 阅读(226) 评论(0) 推荐(0)

输出上三角

摘要: 方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:123645当n=4时,输出:12349105867当n=5时,输出:123451213146111571089程序运行时,要求用户输入整数n(3~20)程序输出:方阵的上三角部分。要求格式:每个数据宽度为4,右对齐。解题:还是一道输出问题,信心,细心。 阅读全文

posted @ 2013-05-06 22:10 nigel_jw 阅读(173) 评论(0) 推荐(0)

字母加密

摘要: 解题:做这种题目,就是细心,都能做出来的。一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1.首先按行填入密钥串。2.紧接其后,按字母序按行填入不在密钥串中的字母。3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。如果密钥为youandme,则该方阵如下:youandmebcfghijklpqrstvwx在加密一对字母时,如am,在方阵中找到以这两个字母为顶点的矩形(红色字体):youandmebcfghijklpqrstvwx这对字母的加密字母为该矩形的另 阅读全文

posted @ 2013-05-06 22:08 nigel_jw 阅读(1170) 评论(0) 推荐(0)

整数的分划问题。

摘要: 整数的分划问题。如,对于正整数n=6,可以分划为:65+14+2,4+1+13+3,3+2+1,3+1+1+12+2+2,2+2+1+1,2+1+1+1+11+1+1+1+1+1+1现在的问题是,对于给定的正整数n,编写算法打印所有划分。用户从键盘输入n(范围1~10)程序输出该整数的所有划分。一位大神分别使用了递归和循环来做题,结果证明,还是循环比较好一点。http://blog.csdn.net/ll_0520/article/details/7461295View Code 1 #include<iostream> 2 #define MAX 100 3 using name 阅读全文

posted @ 2013-05-06 22:04 nigel_jw 阅读(329) 评论(0) 推荐(0)

放麦子

摘要: 题意:国际象棋,一共64个方格,第一个格子里放一粒麦子,第二个放2粒,第三个放4粒,第四个放8粒。。。。。(后面的数字是前面的两倍)求放满64个格子,一共需要多少粒麦子。解题:还是一个大数的问题。View Code 1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int num[1000]; 6 int sum[1000]; 7 memset(num , 0 , sizeof(num)); 8 memset(sum , 0 , sizeof(sum)); 9 num[0] =... 阅读全文

posted @ 2013-05-06 21:59 nigel_jw 阅读(329) 评论(0) 推荐(0)

分红酒 (广度优先搜索)

摘要: 标题:分红酒 有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。 假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现? 本题就是要求你编程实现最小操作次数的计算。 输入:最终状态(逗号分隔) 输出:最小操作次数(如无法实现,则输出-1)例如:输入:9,0,0,0应该输出:0输入:6,0,0,3应该输出:-1输入:7,2,0,0应该输出:2当初比赛的时候做的这道题 阅读全文

posted @ 2013-05-06 21:54 nigel_jw 阅读(141) 评论(0) 推荐(0)

大数的乘法

摘要: 1 #include<iostream> 2 #include<string.h> 3 #define MAX 100 4 void change(char *st , int len); 5 using namespace std; 6 7 8 int main() 9 {10 char st1[MAX] , st2[MAX];11 int st3[2*MAX] = {0};12 scanf("%s%s" , st1 , st2);13 int len1 , len2 , len3;14 int i , j;15 len1 = strle... 阅读全文

posted @ 2013-05-06 21:46 nigel_jw 阅读(172) 评论(0) 推荐(0)

泊松分酒 (广搜)

摘要: 泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。 有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。 有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。要求你只用3个容器操作,最后使得某个容器中正好有6升油。 下面的列表是可能的操作状态记录:12,0,04,8,04,3,59,3,09,0,31,8,31,6,5 每行3个数据,分别表示12,8,6升容器中的油量 第一行表示初始状态,第二 阅读全文

posted @ 2013-05-06 21:43 nigel_jw 阅读(496) 评论(0) 推荐(0)

hdu 1518 Square (广搜)

摘要: Problem DescriptionGiven a set of sticks of various lengths, is it possible to join them end-to-end to form a square?InputThe first line of input contains N, the number of test cases. Each test case begins with an integer 4 <= M <= 20, the number of sticks. M integers follow; each gives the le 阅读全文

posted @ 2013-05-06 21:31 nigel_jw 阅读(143) 评论(0) 推荐(0)

hdu 1016 Problem Description (广搜)

摘要: Problem DescriptionA ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime.Note: the number of first circle should always be 1.Inputn (0 < n < 20).OutputThe output format i 阅读全文

posted @ 2013-05-06 21:28 nigel_jw 阅读(146) 评论(0) 推荐(0)

欧拉计划 题目19

摘要: 以下是一些已知信息,但是或许你需要自己做一些其他的调查。1900年1月1日是星期一。30天的月份有:9月,4月,6月,11月。此外的月份都是31天,当然2月除外。2月在闰年有29天,其他时候有28天。年份可以被4整除的时候是闰年,但是不能被400整除的世纪年(100的整数倍年)除外。20世纪(1901年1月1日到2000年12月31日)一共有多少个星期日落在了当月的第一天?写代码的时候,总是不能一次性通过,还是花了好长的时间找错误。唉。。。。。View Code 1 #include<iostream> 2 using namespace std; 3 4 ... 阅读全文

posted @ 2013-05-06 20:54 nigel_jw 阅读(212) 评论(0) 推荐(0)

欧拉计划 题目18

摘要: 从下面的三角形的顶端开始,向下面一行的相邻数字移动,从顶端到底端的最大总和为23.3742468593也就是3+7+4+9=23.找出从以下三角形的顶端走到底端的最大总和:7595641747821835871020048247651901237503348802777307636799650428061670924141265683408070334148723347323716942953714465254391529751147011332877731778396817579171523817149143585027294863660468895367307316698740310462 阅读全文

posted @ 2013-05-06 20:53 nigel_jw 阅读(284) 评论(0) 推荐(0)

分红酒(广度优先搜索)

摘要: 标题:分红酒有4个红酒瓶子,它们的容量分别是:9升,7升,4升,2升开始的状态是[9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现?本题就是要求你编程实现最小操作次数的计算。输入:最终状态(逗号分隔)输出:最小操作次数(如无法实现,则输出-1)例如:输入:9,0,0,0应该输出:0输入:6,0,0,3应该输出:-1输入:7,2,0,0应该输出:2最初做这道题的时候,并没有任何思路。最近准备软 阅读全文

posted @ 2013-05-06 20:51 nigel_jw 阅读(249) 评论(0) 推荐(0)

hdu 2050 折线分割平面

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2050ProblemDescription我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。唉,还是自己的基本功不扎实。历经千辛万苦,终于把这道题理解出来了。本人所有理解均来自于一位大神的博客。下面是此博客的地址。里面讲解了很多切分平面的知识。受益匪浅。http://www.cnblogs.com/chaosheng/archive/2012/01/26/23295 阅读全文

posted @ 2013-05-06 20:50 nigel_jw 阅读(139) 评论(0) 推荐(0)

hdu 1465 (错排公式问题)

摘要: 题目大意:事情是这样的——HDU有个网名叫做8006的男性同学,结交网友无数,最近该同学玩起了浪漫,同时给n个网友每人写了一封信,这都没什么,要命的是,他竟然把所有的信都装错了信封!注意了,是全部装错哟!现在的问题是:请大家帮可怜的8006同学计算一下,一共有多少种可能的错误方式呢?题目解析:1.首先这是一个错排的问题,我们先来推导一下公式。2.先从信封2到n中,拿出信封k中的信,把信放在信封1的位置。有n-1种可能。情况一:信封1中的信放在信封k中,即剩下的错排方式有D[n-2]种。情况二:信封1中的信没有放在信封k中,即剩下的错排方式有D[n-1]种。3.即可得到递推公式:D[n]=(n- 阅读全文

posted @ 2013-05-06 20:48 nigel_jw 阅读(209) 评论(0) 推荐(0)

hdu 2612 Find a way (广搜)

摘要: ProblemDescriptionPassayearlearninginHangzhou,yifenfeiarrivalhometownNingboatfinally.LeaveNingbooneyear,yifenfeihavemanypeopletomeet.EspeciallyagoodfriendMerceki.Yifenfei’shomeisatthecountryside,butMerceki’shomeisinthecenterofcity.SoyifenfeimadearrangementswithMercekitomeetataKFC.TherearemanyKFCinNi 阅读全文

posted @ 2013-05-06 20:44 nigel_jw 阅读(155) 评论(0) 推荐(0)

hdu 1181 变形课 (广搜)

摘要: 呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.Input测试数据有多组。每组有多行,每行一个单词,仅包括小写字母,是Harry所会的所有咒语.数字0表示一组输入结束. 阅读全文

posted @ 2013-05-06 19:17 nigel_jw 阅读(164) 评论(0) 推荐(0)

欧拉计划 题目24 (全排列)

摘要: 题目描述:排列是一个物体的有序安排。例如3124是1,2,3,4的一种排列。如果所有的排列按照数值或者字母序排序,我们称其为一个字典序。0,1,2的字典排列有:0120211021202012100,1,2,3,4,5,6,7,8,9的第100万个字典排列是什么?本来并不知道怎么求出序列的全排列。看了一下一位大神的博客,居然有这么多的方法。我就用了最简单易懂的字典序法。http://blog.csdn.net/visame/article/details/2455396View Code 1 #include<iostream> 2 #include<string.h> 阅读全文

posted @ 2013-05-06 19:15 nigel_jw 阅读(271) 评论(0) 推荐(0)

移动字母(广度搜索+队列)

摘要: 移动字母2x3=6个方格中放入ABCDE五个字母,右下角的那个格空着。如图所示。和空格子相邻的格子中的字母可以移动到空格中,比如,图中的C和E就可以移动,移动后的局面分别是:A B D E CA B CD E为了表示方便,我们把6个格子中字母配置用一个串表示出来,比如上边的两种局面分别表示为:AB*DECABCD*E 题目的要求是:请编写程序,由用户输入若干表示局面的串,程序通过计算,输出是否能通过对初始状态经过若干次移动到达该状态。可以实现输出1,否则输出0。初始状态为:ABCDE* 用户输入的格式是:先是一个整数n,表示接下来有n行状态。程序输出也应该是n行1或0 例如,用户输入:3ABC 阅读全文

posted @ 2013-05-06 19:05 nigel_jw 阅读(238) 评论(0) 推荐(0)

导航