设为首页 加入收藏

TOP

HDU5012 Dice 记忆化搜索
2015-07-20 17:41:16 来源: 作者: 【 】 浏览:2
Tags:HDU5012 Dice 记忆 搜索

写错了,坑了自己好久,直接广搜可能更好,我害怕超时,记忆化搜索了一下 ,写的时候小地方写错了,


int dp[7][7][7][7][7][7];

int su,sd,sl,sr,sf,sb;

int eu,ed,el,er,ef,eb;

void init() {
	memset(dp,-1,sizeof(dp));
}

bool input() {
	while(cin>>su>>sd>>sl>>sr>>sf>>sb) {
		cin>>eu>>ed>>el>>er>>ef>>eb;
		return false;
	}
	return true;
}
bool flag;

int dfs(int up,int down,int left,int right,int front,int behind) {
	if(dp[up][down][left][right][front][behind] != -1)
		return dp[up][down][left][right][front][behind];
	if(up == eu && down == ed && left == el && right == er && front == ef && behind == eb) {
		flag = true;
		return dp[up][down][left][right][front][behind] = 0;
	}
	int tmp = inf;
	dp[up][down][left][right][front][behind] = inf;
	tmp = min(tmp,dfs(right,left,up,down,front,behind));//l
	tmp = min(tmp,dfs(left,right,down,up,front,behind));//r
	tmp = min(tmp,dfs(behind,front,left,right,up,down));//f	
	tmp = min(tmp,dfs(front,behind,left,right,down,up));//b
	return dp[up][down][left][right][front][behind] = tmp + 1;
}

void cal() {
	flag = false;
	if(su == eu && sd == ed && sl == el && sr == er && sf == ef && sb == eb){
		puts("0");return ;
	}
	dfs(su,sd,sl,sr,sf,sb);
	if(flag)
		cout<
  
   


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Active Object模式 下一篇HDOJ 5009 Paint Pearls

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·CPython是什么?PyPy (2025-12-26 06:50:09)
·Python|如何安装seab (2025-12-26 06:50:06)
·python要学习数据分 (2025-12-26 06:50:03)
·每日一道面试题-多线 (2025-12-26 06:20:17)
·java项目中哪些地方 (2025-12-26 06:20:14)