摘要: 虽然AC了,但是要做深刻的总结。View Code 1 /*首先需要考虑五个问题。 2 第一:怎样遍历p,q,r,s,t分别取0,1?用个数组value[5],根据value[i]分别取0,1,可以五重循环实现,也可以递归实现。注意递归实现的技巧。 3 第二:如何判断真值?有了p,q,r,s,t的值以后,则用计算前缀表达式的方法来处理。注意这种情况也能递归。根据每次value的值,如果返回值为1,则真,继续换下一种;返回为0,则不用计算了,打印not。*/ 4 5 #include<string.h> 6 #include<iostream> 7 using names 阅读全文
posted @ 2011-10-16 22:01 YipWingTim 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1.打印蛇形矩阵刚刚写了一下这道题,主要是控制循环语句,思路清晰了代码自然就漂亮了。View Code 1 #include<iostream> 2 using namespace std; 3 4 #define N 5 5 int a[N][N]; 6 7 int main() 8 { 9 int num=0;10 bool flag=true; //flag控制添斜线的上下的方式,每次打印完一个斜线改变一下11 for(int slopline=0; slopline<=N-1; ++slopline) //slopline控制斜线,总共打印2N-1个... 阅读全文
posted @ 2011-10-16 00:59 YipWingTim 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 令我讨厌的一道题,耗费了我很多时间,还是编码不细心啊。View Code 1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 int s,d; 7 while(cin>>s>>d) 8 { 9 if(4*s-d<0)10 {11 if(10*s-2*d>0)12 cout<<10*s-2*d<<endl;13 else14 cout<<"Defic... 阅读全文
posted @ 2011-10-15 23:31 YipWingTim 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 打印以下序列:(a),(b),(c),(d),(e)........(z)(a,b),(a,c),(a,d),(a,e)......(a,z),(b,c),(b,d).....(b,z),(c,d).....(y,z)(a,b,c),(a,b,d)....(a,b,z),(a,c,d)....(x,y,z)....(a,b,c,d,.....x,y,z)思路一:每个集合可以看做一个数,根据字母是26进制的特性,生成所有数(去掉一些),再排序输出。但最大的数可以到达26^26,复杂度太大。且不知如何实现。思路二:用到排列组合的思想,用递归代替26重循环。View Code 1 #include. 阅读全文
posted @ 2011-10-13 22:26 YipWingTim 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 小小的一道贪心算法题,由于读数据的时候未读完数据居然卡了两个小时。不过这次代码写的自我感觉不错,结构也清楚,这种小题现在对我来讲毫无压力啊。。。。View Code 1 #include<iostream> 2 #include<stdlib.h> 3 #include<math.h> 4 5 using namespace std; 6 7 struct ln 8 { 9 double x1;10 double x2;11 }section[1010];12 13 int cmp(const void *a,const void *b)14 {15 str 阅读全文
posted @ 2011-10-13 04:52 YipWingTim 阅读(205) 评论(1) 推荐(0) 编辑
摘要: 动态规划的综合题。绝对经典的好题目。整整做了五个小时,但是由于自己思维不严谨,太急躁,静不下心来。导致写完程序后煎熬了2个小时。得不偿失,以后写程序的时候不要再听歌。AC后没有快感,因为头脑始终没清醒过。View Code 1 //陪审团的人选,选出的M个人必须满足辩方总分和控方总分差的绝对值最小。如果差的绝对值一样,那么选择双方总分之和最大的方案。 2 //需要用一个数据结构存储辩控差一定时最大的辩控和。用二维数组jury[i][j]表示i个人辩控差为j的时候的最大的辩控和。j先加个400. 3 //jury[0][0]=0,第一个人的时候,构造出jury[1][p[i]],此时,设置pa. 阅读全文
posted @ 2011-10-13 01:38 YipWingTim 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 广度优先搜索+位运算+递归输出路径。这道题关键是输出路径是很难的,其中参考了网上的一种递归输出的方法,需留意。View Code 1 #include<iostream> 2 using namespace std; 3 4 unsigned short handles; 5 unsigned short queue[65535]; 6 int father[65535]; 7 int cx[65535],cy[65535]; 8 bool flag[65535]; 9 unsigned short door[16]={0x111f,0x222f,0x444f,0x888f,0x1 阅读全文
posted @ 2011-10-10 18:37 YipWingTim 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 九点五十九分A了我的第二题,之前提交了好多次,各种改,最后还是很兴奋。我很开心,真的很开心,这是我自己独立做出来的两道ACM难度的试题,而且还不是水题,虽然自己参考了别人的算法。本来今天计划是要A三题的,但是下午海龙跑过来找我了,晚上去广外吃了饭、粥、粉、螺。感冒了,抽烟不爽。贴下代码,继续加油!View Code 1 #include<iostream> 2 //#include<memory.h> 3 using namespace std; 4 5 6 int cakesLine,cakesPieces; 7 const int MAXLONG = 40; 8 9 阅读全文
posted @ 2011-10-07 22:06 YipWingTim 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 用的是广度优先搜索+位运算。这是我AC的第一题,做了两天,纪念一下。View Code 1 #include<iostream> 2 3 using namespace std; 4 5 unsigned short temp; 6 int top=0; 7 int rear=0; 8 unsigned short queue[65535]; 9 int step[65535];10 bool status[65535];11 12 13 void init()14 {15 for(int i=0; i<4; i++)16 for(int j=0; j<4; j+... 阅读全文
posted @ 2011-10-07 12:17 YipWingTim 阅读(130) 评论(0) 推荐(0) 编辑