我是靠谱客的博主 勤劳蜜粉,最近开发中收集的这篇文章主要介绍poj.1753dfs,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这道题的意思很简单,主要需要注意的有两点,第一:矩阵中的每个点都最多被主动翻一次,(注意不是被动),所以总共有2^16种可能,只要枚举每种可能了。第二:翻转的顺序对结果没有影响,所以问题的关键就在于那些点被主动翻转了。翻转多少次就有多少次round,只要求出所有round中最小的一个就是答案了,如果没有一种可能可以得到结果则输出“Impossible"。下面是代码和测试数据:

//#include <iostream>
#include <stdio.h>
#include <stdlib.h>
//using namespace std;
#define Inf 1000000
int maxn;
int s[4][4];
void Init(){
	char ch[4][4];
	int i,j;
	for(i=0;i<4;i++)
		scanf("%s",ch[i]);
	for(i=0;i<4;i++)
		for(j=0;j<4;j++){
			if(ch[i][j]=='b')
				s[i][j]=1;
			else
				s[i][j]=-1;
		}
		/*for(i=0;i<4;i++)
			for(j=0;j<4;j++)
             printf("%d ",s[i][j]);*/
}	
bool Is_right(int (*t)[4]){
	int i,j;
	for(i=0;i<4;i++)
		for(j=0;j<4;j++)
			if(t[i][j]!=t[0][0])
				return false;
			return

最后

以上就是勤劳蜜粉为你收集整理的poj.1753dfs的全部内容,希望文章能够帮你解决poj.1753dfs所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部