2011年6月5日
摘要: 黑白棋翻转 4X4的棋盘有2^16种状态,如果状态值为0或65535则算法结束 第一层:初始状态 第二层:初始状态翻0、初始状态翻1、初始状态翻……初始状态翻15 第三层: …………………………. 如果该状态值未访问过,则入队列 #include <iostream>#define MAX_STATE 65535#define ALL_BLACK 65535#define ALL_WHITE 0#... 阅读全文
posted @ 2011-06-05 21:12 yangyh 阅读(372) 评论(0) 推荐(0) 编辑
摘要: Sample InputDBACEGF ABCDEFG已知二叉树的前序遍历与后序遍历求后序遍历 算法:前序遍历时,第一位为根:D;找到中序中的D,则前面的ABC在左子树,右边的EFG在右子树,则后序为为左子树+右子树+根:solve(BAC,ABC)+solve(EGF,EFG)+D#include <iostream>#include <string>using namespace std;s... 阅读全文
posted @ 2011-06-05 20:17 yangyh 阅读(364) 评论(1) 推荐(0) 编辑
摘要: Sample Input10 12W........WW..WWW.....WWW....WW...WW..........WW..........W....W......W...W.W.....WW.W.W.W.....W..W.W......W...W.......W.Sample Output3每个点与其周围的8个可以看作同一堆 算法: 1.遍历每个点,如果它没有被访问过,并且有水,则它入... 阅读全文
posted @ 2011-06-05 20:08 yangyh 阅读(277) 评论(0) 推荐(0) 编辑
摘要: -+-----------+--翻一个位置必须翻转所在行与列的其它所有棋子要翻转一个位置而不改变其它位置的方法:该位置所在的行与列的总共7个翻面,知道此方法后这题就可以不用做了网上代码特别多:#include <iostream> using namespace std; const int ROW = 4; int main() { //freopen("d:/t.txt","r",stdin); bool HANDLES[ROW][ROW] = {false}; char handle; int i; for( i = 0; i < 阅读全文
posted @ 2011-06-05 19:47 yangyh 阅读(279) 评论(0) 推荐(0) 编辑