摘要: View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #define MAXN (3000 + 100) 6 7 int flag[MAXN], num[MAXN]; 8 9 void Fac(int n) {10 memset(flag, 0, sizeof(flag));11 memset(num, 0, sizeof(num));12 int i, j, k;13 __int64 f;14 int res = 0;15 for(i = 1; i &l 阅读全文
posted @ 2011-07-29 11:46 cloehui 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=1247题目大意:N个客人编号从1到N,每人可能点n个肉丸。S从1开始顺时针发丸子,E从N开始逆时针发丸子,如果他们能同时发完丸子,输出发完时的位置。否则输出No equal partitioning.思路:就是看能否找出一个位置,使得由此分出的桌面的两部分丸子数相等,看图很容易看明白提交情况: AC 1次AC code :View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #define MAX 阅读全文
posted @ 2011-07-26 10:08 cloehui 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=1046题目大意:颜色的(R,G,B)类似于三维坐标点,颜色的距离定义同空间点的距离。前16组数是目标颜色,从第17组开始,从目标颜色中找出与每个颜色距离最近的颜色,按照规定格式输出思路:水题,先把目标颜色存起来,后续的颜色每次输入一次就判读输出就可以了提交情况: AC 1次总结:这两天感觉算法学不懂,各种郁闷,于是找水题来做,找找安慰。似乎今年寒假的时候还觉得这个题有点麻烦,现在看完全就是水题。至少比寒假时有进步了,嗯。加油AC code :View Code 1 #include <stdio.h> 2 #include 阅读全文
posted @ 2011-07-25 16:48 cloehui 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=1183思路:知道要推导公式,根据公式(4)的两种形式推来推去,似乎没有太大结果。看了Discuss里大牛的推导,看懂之后就很简单了,关键就是b = a+m, c = a+n .借用大牛的推导……1/a = (1/b + 1/c)/ (1 - 1/(b*c)) => bc-1 = a(b+c) assume b=a+m and c=a+n (b and c is always bigger than a) (a+m)(a+n)-1=a(a+m+a+n) => a*a+a*n+a*m+m*n-1=2*a*a+m*a+n*a = 阅读全文
posted @ 2011-07-24 17:14 cloehui 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=3981思路:搜索到"you"就替换成"we", 否则原样复制提交情况:AC 1次AC code:View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define MAXN (1000 + 20) 5 6 char s[MAXN], e[MAXN]; 7 8 void Replace() { 9 char ch[5];10 int i, j = 0;11 in 阅读全文
posted @ 2011-07-24 15:10 cloehui 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=2864题目大意:有N个男毕业生,举行了D次晚会,D行N列的矩阵,0表示Ni没有参加这次晚会,1表示参加了。判断有没有人参加了所有晚会思路:开一个N数组标记男毕业生的参加情况,初始化都为1,如果输入时发现某一次为0,说明未参加,则N[i]标记为0。输入结束后扫描N数组,如果有N[i]仍然为1,说明有人参加了全部的晚会,输出yes,否则输出no提交情况: AC 1次总结:觉得这么做似乎还有点麻烦,不够简洁……AC code :View Code 1 #include <stdio.h> 2 #include <stdli 阅读全文
posted @ 2011-07-24 14:13 cloehui 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=1067题目大意:中文题不解释……思路:威佐夫博奕,其实不大懂……附一个链接http://www.docin.com/p-804326.html 就是ak,bk满足ak =(sqrt(5) + 1) / 2下取整,bk = ak+k ,那么你所面对的就是奇异局势,必败,输出0,否则你必胜,输出1。提交情况: WA n次, TLE 2次, AC 1次总结:拖了好久的题,定理的证明实在太纠结了。先开始脑残的暴搜k,后来才想到不用管k是多少,可以把k消掉,ak、bk之间满足关系就好。ak要下取整,否则会WA 只是想把拖了很久的题过掉……博弈的 阅读全文
posted @ 2011-07-24 11:31 cloehui 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=3400题目大意:给出A、B、C、D四点坐标,在AB上速度为P,CD上速度为Q, 其他地方速度为R。求从A到D的最短时间思路:两个三分嵌套,AB线段三分,内层嵌套CD线段内的三分提交情况: WA 1次, AC 1次总结:内层的三分时,每次都要重新赋两端点的值为C、D的值,因为前一次搜索结束后,端点值已经改变。就这样WA了一次……AC code:View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <st 阅读全文
posted @ 2011-07-24 10:34 cloehui 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=1002题目大意:手机键盘上字母和数字是对应的,给出几串号码,按照首位数字升序输出标准格式的有重复的号码,并输出重复次数;若无重复输出一行 思路:把输入的字符转化成7位数字,从小到大排序,找重复的数字,记录出现次数。具体看注释提交情况:WA 3次, TLE 4次, AC 1次总结:一直TLE,将n²的搜索改了之后变成WA,似乎还有 No duplicates. 貌似也有最后那个小句号的问题…… 之后又一次TLE , 是将字符串转换成数字的时候用了pow()。改了之后就AC了。字符串操作各种不熟练,每次换行符什么的搞得相当纠结。 阅读全文
posted @ 2011-07-24 01:26 cloehui 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=1007题目大意:给出一段DNA序列,按照有序程度降低的顺序输出,也就是以逆序对数增加的顺序输出思路:记录A、C、G、T出现的次数,每输入一个字符,它出现的个数加1;如果输入A,逆序数加上已出现的C、G、T个数,输入C,逆序数加上已出现的G、T个数,输入G,逆序数加上已出现的T个数,输入T,逆序数不增加。这样当字符串输入结束,这个串的逆序数也已经求出了。按照逆序数从小到大重排字符串,再输出,就可以了。提交情况: AC 1次总结:做的也是比较纠结。拖了很久的一道题,今天一定是脑残了才想做这个。一直对字符串处理比较头痛,吸收换行符什么的,各 阅读全文
posted @ 2011-07-24 00:01 cloehui 阅读(742) 评论(0) 推荐(0) 编辑