摘要: 解题报告:一个模拟题,有两张表格,然后输入一个字符在第一章表格中的位置,让你找出这个字符在第二章表对应的位置。我欧诺个的是暴力打表,输了两百多个数字,时间复杂度直接降到O(1),这题觉得比较坑的就是题目里面没有给出数据范围,一开始数组开小了,一直WA,搞得我一直以为是表打错了,找了半个小时,结果确定正确,才怀疑是数组开小了。这题数组至少要开到10的七次方。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int map[25][25] = { 7 {0,1,2,3,0,9,0,127,0,0,0,11,12,13,14,. 阅读全文
posted @ 2013-08-20 19:54 xiaxiaosheng 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 解题报告:就用了一个swap函数就行了。 1 #include 2 #include 3 int main() { 4 int x,y,T,n; 5 scanf("%d",&T); 6 while(T--) { 7 scanf("%d",&n); 8 int A[10] = {0,1,2,3,4,5,6,7}; 9 while(n--) {10 scanf("%d%d",&x,&y);11 std::swap(A[x],A[y]);12 }13 ... 阅读全文
posted @ 2013-08-20 17:02 xiaxiaosheng 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 解题报告 :给出n个数,求这n个数的子集的和是否等于一个数,如果是就把这个子集以a+b+c.....的形式输出来。用增量构造法生成子集,然后判断子集的和是否满足要求,这题要注意要判重,因为给出的这n个数可能有重复的数,所以可能会重复得到某个相同的子集,我的判重方法用的是最暴力的方法,将新生成的子集与已经存在的子集一一进行比较,如果出现相同的则不输出,如果没有相同的则先将这个子集加入到已经出现过的集合中然后再将这个集合输出来。不过这题输入的数据好像是按顺序输出的,所以判重的时候不需要先排序再判,直接判就可以了。 1 #include 2 #include 3 #include 4 using n 阅读全文
posted @ 2013-08-20 13:32 xiaxiaosheng 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 解题报告:求多个数的最小公倍数,其实还是一样,只需要一个一个求就行了,先将答案初始化为1,然后让这个数依次跟其他的每个数进行求最小公倍数,最后求出来的就是所有的数的最小公倍数。也就是多次GCD. 1 #include 2 #include 3 #include 4 using namespace s... 阅读全文
posted @ 2013-08-20 09:22 xiaxiaosheng 阅读(184) 评论(0) 推荐(0) 编辑