上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页
  2011年9月13日
摘要: 题目大意:给出两个空杯子,已知这两个空杯子的容量,有无限多的水,再给出要求得到的体积,找出一种方法,得到要求的体积解决:BFS+路径记录#include <iostream>#include <cstdio>#include <queue>using namespace std;int ca,cb,n,ex,ey;//有六种选择方案,记录的时候只需要记录下,方案的代号0-6即可char p[6][20]={"fill A","fill B","pour B A","pour A B&quo 阅读全文
posted @ 2011-09-13 18:18 猿类的进化史 阅读(325) 评论(0) 推荐(0) 编辑
  2011年9月12日
摘要: 题目描述:都玩过这个游戏,同行同列不能出现相同的数字,同一个9格子中也不能相同的出现。解决:dfs+回溯把每行每列不能用的元素检出来,在搜索的时候看每9个格子的情况,用check函数, 用两个vis数组存放行的信息和列的信息#include <iostream>#include <cstdio>using namespace std;int map[10][10];bool vis1[10][10],vis2[10][10];bool found;bool check(int x,int y,int val){//检测每9个格子中的数是否重复 for(int i=(x- 阅读全文
posted @ 2011-09-12 22:14 猿类的进化史 阅读(345) 评论(0) 推荐(0) 编辑
摘要: poj 1077/hdoj 1043题目大意:你懂得解决:A*,在poj上数据很弱,后来他们说zoj和hdoj都有这道题,就在过一下,这次数据是多组的,没想到都超时了,原因是有无解的情况,关键是如何判断无解的情况,他们说提前都能判断出来,判了两次没盘出来,后来才知道是这样整的:由于一个空格和其他的数字交换位置,若是与同一行交换,逆序数的个数不变(这可是不包含9,就把那个当成空格处理),若是与同一列交换,要么是增加2,要么是减少2,可见奇偶性不变,根据这个可以判断出是否有解,若没有解在a*,因为一定会有解顺便推荐一篇好文章http://hi.baidu.com/benbearlove/blog/ 阅读全文
posted @ 2011-09-12 21:47 猿类的进化史 阅读(304) 评论(0) 推荐(0) 编辑
  2011年9月10日
摘要: ACM计算几何题目推荐//第一期计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠。 3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代码一片混乱,那么会严重影响做题正确率。 4.注意精度控制。 5.能用整数的地方尽量用整数,要想到扩大数据的方法(扩大一倍,或扩大sqrt2)。因为整数不用考虑浮点误差,而且运算比浮点快。 一。点,线,面,形基本关系,点积叉积的理解POJ 2318 TOYS(推荐)http://acm.pku.edu.cn/JudgeOnline/problem?id=231 阅读全文
posted @ 2011-09-10 20:55 猿类的进化史 阅读(240) 评论(0) 推荐(0) 编辑
  2011年9月9日
摘要: poj 1955题目大意:给出地图的长和宽,和骑士的起始位置和终点位置,求出最少的移动步数解决: 双广,由于地图比较大比较适合双搜#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;int n,sx,sy,ex,ey;bool vis[2][305][305];int dx[]={2,2,-2,-2,1,1,-1,-1};int dy[]={1,-1,1,-1,2,-2,2,-2};struct node { int x 阅读全文
posted @ 2011-09-09 21:46 猿类的进化史 阅读(175) 评论(0) 推荐(0) 编辑
摘要: poj 1664题目大意:解决:dfs,整数划分问题,#include <iostream>using namespace std;int n,m,cnt;int res[15];bool check(){ for(int i=1;i<n;i++) if(res[i]<res[i-1])return false; return true;}void dfs(int deep,int cur_app,int p){ //deep>n比不可少,本来以为不要也行,但是由于下边的条件不一定总是满足, //可能导致死循环了,所以很有必要独立写出一行 if(deep>n 阅读全文
posted @ 2011-09-09 12:21 猿类的进化史 阅读(155) 评论(0) 推荐(0) 编辑
  2011年9月7日
摘要: poj 2251题目大意:给你一张三维地图 ,给出起点S和中点E,让你找出经过多少步子会到达中点解决:简单bfs,代码就不贴了,只需有个x,y,z三维个增量不要写错了,就行了,其余和二维一样 阅读全文
posted @ 2011-09-07 23:44 猿类的进化史 阅读(246) 评论(0) 推荐(0) 编辑
摘要: poj 1321题目大意:解决:dfs+回溯,类似于八皇后问题,分两种情况,第n行放或者不放,放的话回溯,不放的话直接进入下一行#include <iostream>#include <cstdio>using namespace std;int cnt,n,k;char map[10][10];int r[10],c[10];void dfs(int cur_step,int cur_cnt){ if(cur_cnt == k){cnt++;return;} if(cur_step == n)return; for(int i=0;i<n;i++) { if.. 阅读全文
posted @ 2011-09-07 21:23 猿类的进化史 阅读(212) 评论(0) 推荐(0) 编辑
摘要: poj 1154题目描述:给出一些字母组成一个地图,要求若下一步能行得通,必须是没有走过的字母,即路径中不能出现相同的字母解决:DFS+回溯/*本来是加了个vis数组,想着将走过的每一步进行标记,其实不需要vis,因为有26个字母的b数组控制着呢,若走过了肯定不会再走重复了,但是最多也相当于用了vis和没用一样啊,为什么用了vis反而wa了呢*/#include <iostream>#include <bitset>using namespace std;int m,n,maximal=0;char map[25][25];bitset<26> b;int 阅读全文
posted @ 2011-09-07 16:41 猿类的进化史 阅读(225) 评论(0) 推荐(0) 编辑
  2011年9月6日
摘要: poj 2488题目大意:给出一张地图从任意位置出发,找到一条路径,能够周游所有的地方。解决:dfs+回溯,这道题更深刻理解了一下回溯,但是仍然不知道,遍历的顺序为何是这样,如果谁知道,请指教也提供了一种记录路径的方法,进入递归函数立刻记录,因为这个x,y是有效的,只有进入递归的x,y才是有效的路径#include <iostream>#include <bitset>using namespace std;int m,n;int dx[]={-1,1,-2,2,-2,2,-1,1,};int dy[]={-2,-2,-1,-1,1,1,2,2};char res[90 阅读全文
posted @ 2011-09-06 21:44 猿类的进化史 阅读(455) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页