摘要:
1007: 数的分解Time Limit:1 SecMemory Limit:32 MBDescription大于1的正整数n可以分解为:n=x1*x2*…*xm。 (xi != 1 )例如,当n=12 时,共有8 种不同的分解式:12=12; 12=6*2; 12=4*3; 12=3*4; 12=3*2*2; 12=2*6; 12=2*3*2; 12=2*2*3。当n为质数时,至少也有一种分解法:n = n。对于给定的正整数n,计算n共有多少种不同的分解式。Input多组数据,可能会有超过10000组。每组数据输入一行整数N。(0 2 #include 3 using namespace.. 阅读全文
摘要:
比如下面的代码: 1 #include 2 3 void fun() { 4 int a, b, c, d; 5 a = (2, b = 4); 6 c = (4, 6); 7 d = (4, 2); 8 9 printf("%d %d %d %d\n", a, b, c, d);10 } 11 int main(int argc, char const *argv[])12 {13 fun();14 15 return 0;16 }输出的结果是:4 4 6 2可能有些人会以为是小括号运算符的什么作用,其实这个是逗... 阅读全文
摘要:
1016. 排队接水Time Limit: 1sec Memory Limit:256MBDescription有n个人在一个水龙头前排队接水,假如每个人接水的时间为t[i],请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。注意:若两个人的等待时间相同,则序号小的优先。Input第一行为n。第二行共有n个整数,分别表示第一个人到第n个人每人的接水时间t[1],t[2],t[3],t[4],……t[n],每个数据之间有一个空格。数据范围: 0 2 #include 3 #include 4 #in... 阅读全文
摘要:
1003: FFF团的情侣活动Time Limit:1 SecMemory Limit:2 MBDescription圣诞节快到了,Water作为大FFF团团长,组织许多对情侣进行电影院隔位坐,双人套餐打十一折等积极向上的活动。Water会给每个人编号,情侣两人的号码是一样的。丧心病狂却又单身的Water把自己也算了进去,最后却把自己的编号忘记了。Water手上现在只有一份乱了的号码单(包括Water的号码),他又过来死皮赖脸的求你帮他把号码找出来。Input一组数据。第一行为 整数N (0 2 3 int main() 4 { 5 int i, n; 6 int val ... 阅读全文
摘要:
1002: 当不成勇者的Water只好去下棋了Time Limit:1 SecMemory Limit:128 MBDescription由于魔王BOSS躲起来了,说好要当勇者的Water只好去下棋了,他很厉害,基本每局必输。Water总是不知道为什么把自己的棋下得东一块西一块,而块与块之间总是被对手的棋隔开。概率统计挂了的Water一直没搞清楚到底自己被别人分成了多少块,又来找你帮忙。假定Water的棋为X,对手的棋为O。给出一个矩阵棋盘,上面布满了棋子,求Water的棋子究竟被对手分成了多少块?(为了和谐,我们还是用0011代表OOXX)Input第一行为n, m。 (0 2 #incl. 阅读全文
摘要:
Description定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。Output左上角到右下角的最短路径,格式如样例所示。Sample Input0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 阅读全文
摘要:
N皇后问题描述为:如何能够在 n*n 的国际象棋棋盘上放置 n 个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。比如经典的8皇后问题的一个解: 一开始你也许会像我一样,想到用一个二维数组来实现,并且用线面描述的算法:用一个N*N的矩阵来存储棋盘:1) 算法开始, 清空棋盘,当前行设为第一行,当前列设为第一列2) 在当前行,当前列的位置上判断是否满足条件(即保证经过这一点的行,列与斜线上都没有两个皇后),若不满足,跳到第4步3) 在当前位置上满足条件的情形:在当前位置放一个皇后,若当前行是最后一行,记... 阅读全文
摘要:
1.射击游戏Description小明很喜欢玩射击游戏。他刚考完了数据结构期末考试,感觉不错,于是又来到了射击娱乐场放松一下。和上次一样,先从老板那租了一把步枪和装有N发子弹的弹夹。这里,再把规则说一遍。在射击的过程中,小明每次都有两种选择:从弹夹中取出一颗子弹上膛,或者打一发子弹出去。注意:所有的子弹都从枪口上膛。小明感觉这有点像《数据结构》课程中的“栈”的特点。因此在打完了这N发子弹之后,他想验证一下这些子弹打出来的顺序是不是真的满足“栈”的特性。假设N颗子弹的编号为1,2,…,N。子弹从弹夹中取出的顺序也是从1到N,这里N=10。给定一个子弹被打出的顺序,你可以帮小明验证它满不满足“栈” 阅读全文
摘要:
全排列的概念:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。看到全排列的时候第一反应可能会是那么多情况怎么去写,就跟我们的排列组合一样。那么要怎样处理全排列呢,我们来看一个例子:123首先可能的排列有:123,132, 213, 231, 321, 312.我们来看看这个图: 可以很直接地看到,全排列是从第一个元素开始,每个元素都和它后面的元素进行位置的互换从而得到。所以我们就可以这样来实现: 1 void fullPermutati... 阅读全文
摘要:
1001: 土豪我们做朋友吧!Time Limit:1 SecMemory Limit:16 MBDescriptionWater最近掌握了一大波土豪的电话,他决定一个个打电话去找土豪做朋友。可是土豪们不堪骚扰,于是联合通信公司对Water的电话做了一个封杀规则。每当Water打出一个电话后,该电话号码以及以该电话号码开始的号码都永久无法被Water打出。举个栗子,Water打出了号码12345,不管有没人接电话,下一次拨号时12345及12345*(类似1234567)的号码都无法拨出,只能听到“您拨打的用户不接你电话,请不要再拨”。但是如果Water先拨打了1234567,下一次若为123 阅读全文