POJ 1753 - Flip Game

POJ1753(Flip Game) 题目连接点这里 题目大意 有一个4x4的网格上面有16个按钮。按钮只有黑白两种颜色。按其中一个按钮本身和其上下左右的按钮都会改变颜色。给出初始棋牌的状态,输出最少要按多少次按钮才可以让棋牌变为一种颜色。 解题思路 思考阶段一:找规律,这种开关类题目大多数都是有某种规律(也许),然而看了10分钟啥也没发现,放弃。 思考阶段二:暴力枚举,将所有情况枚举出来,选择点击次数最少的情况就好。(可能... 阅读详情

港真,这题,DFS太暴力了,原本还以为有什么高级方法……就是16格,flip或者不flip,2^16情况全部测试一遍,找那个使得 judge() == 1(满足全棋盘同色),同时step最小。

#include<cstdio>
#include<iostream>
using namespace std;
int chess[4][4];
int dx[4]={0,-1,0,+1};
int dy[4]={+1,0,-1,0};
int cnt=99999;
bool judge() //判断整个棋盘是否同色,是返回真,否返回假
{
	bool now=chess[0][0];
	for(int i=0;i<4;i++)
	{
		for(int j=0;j<4;j++)
		{
			if(now != chess[i][j]) return false;
		}
	}
	return true;
}
void flip(int x,int y) //翻转(x,y)棋子及其周围的四个棋子
{
	chess[x][y]=!chess[x][y];
	for(int i=0;i<4;i++)
	{
		int next_x=x+dx[i];
		int next_y=y+dy[i];
		if(next_x >= 0 && next_x < 4 && next_y >= 0 && next_y < 4)
			chess[next_x][next_y]=!chess[next_x][next_y];
	}
}
void dfs(int x,int y,int step)
{
    if (judge())
    {
        if (cnt > step) cnt=step;
        return;
    }
    if (x >= 4 || y >= 4) return;
    int next_x,next_y;
	next_y=(y+1)%4;
	next_x=(next_y > y)?x:x+1; 
    flip(x,y);
	dfs(next_x,next_y,step+1); //翻当前棋子,搜索下一个 
    flip(x,y);
    dfs(next_x,next_y,step); //不翻当前棋子,搜索下一个 
	return;
}
int main()
{
    for(int i=0;i<4;i++)
    {
        for (int j=0;j<4;j++)
        {
        	char temp;
        	scanf("%c",&temp);
            if(temp == 'b') chess[i][j]=1;
            else chess[i][j]=0;
        }
        scanf("%*c");
    }
    dfs(0,0,0);
    if(cnt == 99999) printf("Impossible\n");
    else printf("%d\n",cnt);
    return 0;
}


POJ 1753 Flip Game 题解 POJ 1753 Flip Game 题解 题目解读 读到这个题目,首先要明确题目要求完成的任务。这道题的背景是翻转棋游戏。翻转棋游戏以4*4的棋盘为背景,有黑白两种颜色的棋子。现在题目中给出了在某一时刻棋盘上棋子的分布,要求每一回合选择棋盘上的某一个坐标,通过翻转规则作用棋盘发生变化。问最少经过几个回合能使得棋盘上的棋子变成全白或者全黑的状态。 显然,题目的重点在翻转规则:该游戏中,将 阅读详情

相关推荐

从EXIF到测绘:解码大疆影像元数据的实战应用指南

本文深入解析了大疆无人机影像元数据的实战价值,重点阐述了如何利用EXIF和XMP中的GPS、RTK、姿态角及相机内参等关键信息,提升测绘、三维重建及精准农业等项目的成果精度与效率。通过自动化质检脚本与行业应用场景剖析,指导从业者将元数据从信息转化为生产力,实现从拍照到专业测绘的跨越。

dell8的博客 526

UVa 639 - Don't Get Rooked 类皇后问题 递归回溯

Don't Get Rooked  In chess, the rook is a piece that can move any number of squares vertically or horizontally. In this problem we will consider small chess boards (at most 44) that can a

GodLike 1514

同花顺 python量化交易_开启量化第一步!同花顺iFinD数据接口免费版简易操作教程...

来源:雪球App,作者: 同花顺-iFinD,(https://xueqiu.com/6706494343/141951051)金融市场波动频繁,投资往往会夹杂非理性的情绪。而量化交易,旨在以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,辅助投资者进行理性投资。不过计算机分析存在一定的技术门槛,有没有简单易学的量化交易方式,能够...

weixin_35911805的博客 2万+

POJ-3279(Fliptile)--简单搜索

题目大意:给你一个01矩阵,可以进行翻转操作(0变1,1变0,而且一定要成十字,边界不管),最后你要将这个矩阵变成全0矩阵,给出操作矩阵    而且在所有可以的操作矩阵中,找出总操作数最少的,并且字典序最小的。    (我靠,这题意写得,我自己都未必明白) 解题思路:题目看起来不好做,但是注意以下几点就明白了: 1、若第一行的翻转位置确认,则后面所有位置就可以确认; 2、任何位置最多翻转

shengtao96的专栏 658

ESP32 TWAI CAN库实战:从零构建CyberGear微电机控制框架

本文详细介绍了如何利用ESP32的TWAI控制器和Arduino环境,从零构建一个面向对象的CyberGear微电机控制框架。该框架将复杂的CAN通信协议封装为简洁的API,开发者无需深究底层细节,即可轻松实现电机的速度、位置和扭矩控制,大幅简化机器人关节、云台等项目的开发流程。

oil88的博客 499

如何制作DOS启动盘 U盘制作DOS启动盘 HP-U盘启动DOS7 详细步骤教程 Intel网卡使用软件 bootutil lanconfig eeupdate Intel网卡修改MAC地址教程

制作DOS启动盘不是一项复杂的任务,只要按照以下简单的步骤进行操作,您就可以自己动手制作一个DOS启动盘。

lcy524514826的博客 896

POJ - 1753 Flip Game(枚举)

Flip Game Time Limit:1000MS Memory Limit:65536K Description Flip game is played on a rectangular 4x4 field with two-sided pieces placed on...

MengHao的博客 308

GD32F470移植LWIP协议,PHY芯片DP83848I

也就是说前24位是有规定的,其中48位MAC中的前几位也是有着对应的含义的。2、旧版LWIP(如1.4.1)存在DHCP状态机卡死问题,建议升级至2.1.3+。

m0_61973119的博客 1590

POJ1753 Flip Game(位运算+枚举+深搜回溯)

POJ1753 Flip Game1. 大概题意2. 思路&做法(位运算+枚举+深搜回溯)3. 全部代码3.1 C++ 代码3.2 Java 代码 (稍有不同) 1. 大概题意 翻转游戏是在一个 4x4 的方形场地上进行的,在其 16 个方格中的每一个方格上都放置有两个面的棋子。 每个棋子的一面是白色的,另一面是黑色的,每个都是黑色或白色的一面朝上。 每轮你翻转 3 到 5 块,从而将它们上侧的颜色从黑色变为白色,反之亦然。 每轮都根据以下规则选择要翻转的棋子: 1.选择 16 个中的任何一个。

m0_52313753的博客 739

16、树莓派Pico W:蓝牙与Wi-Fi应用指南

本文介绍了树莓派Pico W在蓝牙与Wi-Fi通信方面的应用,涵盖蓝牙配对原理、使用HC-06模块实现手机远程控制LED和传输内部温度,以及通过Wi-Fi进行网络连接、扫描和UDP协议下的设备控制。文章包含详细电路连接、代码实现与测试步骤,并提供拓展建议、常见问题解决方法及开发注意事项,帮助读者快速掌握基于Pico W的无线通信项目开发,适用于物联网入门与实践场景。

sun99的博客 289

SAP Joule Studio 全景解析

摘要:SAP Joule Studio是SAP Build平台中的低代码/专业级复合工作台,用于构建和管理企业专属的Joule智能体与技能。它支持通过拖拽和声明式编排实现跨系统任务自动化,与SAP及第三方系统集成。核心构件包括Agent(智能体)、Skill(技能)、Action(动作)和Project(项目)。Joule Studio强调企业级落地,与SAP Build Process Automation等工具协同,实现从设计到运行的全生命周期管理。典型应用场景包括供应链补货、财务关账和人力服务台自动化

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 392

POJ1753-Flip Game

Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 45149   Accepted: 19339 Description Flip game is played on a rectangular 4x4 field with two-sided

wang_128的博客 371

网络系统管理专栏-配套练习+知识点详解

网络系统管理专栏-配套练习+知识点详解

bfq05234214的博客 682

POJ 1753 Flip Game (枚举)

Description Flip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 squares. One side of each piece is white and the other one is black and each piece is lying e

小坏蛋_千千 1772

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【POJ】1753 - Flip Game(bfs,枚举)

Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37629   Accepted: 16368 Description Flip game is played on a rectangular 4x4 field with two-sided

wyg1997 803

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

poj dfs相关之1753 Flip Game

poj dfs相关之1753 Flip Game

ziqi9216的博客 262

POJ 1753 Flip Game

原题目网址: http://poj.org/problem?id=1753题目: Flip Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39210 Accepted: 17050 DescriptionFlip game is played on a rectangular 4x4 f

chedan666的博客 335

poj1753Flip Game

poj1753Flip Game Time Limit: 1000 ms / Memory Limit: 65536 kb Description Flip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 squares. One side of each p...

qq_36386435的博客 329

POJ1753 Flip Game

题目链接:http://poj.org/problem?id=1753 大致题意:翻转游戏在一个长方形的4x4场地上进行,在其16个方格中分别放置双面棋子。每个棋子的一面是白色,另一面是黑色,每个都是黑色或白色朝上。每一轮你翻转3至5个,将被翻转的棋子的颜色从黑色改为白色,反之亦然。根据以下规则,每轮选择要翻转的棋子: ①选择16个中的任何一个②将所选择棋子以及该棋子相邻的上下左右棋子翻转(如果...

Fitz的博客 839

[POJ 1753]Flip Game

POJ 1753 大意: 给定一个4*4的黑白棋盘,每次可以将一个棋子反转颜色,同时这个棋子的上下左右都会反转,问你最少反转几次,可以将整个棋盘变成同色的 时空限制: 1000ms/65536kB 输入格式: 共4行,每行4个字符,若是b表示是黑,w表示是白 输出格式: 1行,1个数字表示最少需要反转几次 数据范围: 无 一遍dfs,枚举每个点要不要选,时间复杂度O(216) 代码中把数组的0和...

ZhiyunXie的博客 354

POJ 1753 Flip Game (递归枚举)

原文地址:http://www.cnblogs.com/shuaiwhu/archive/2012/04/27/2474041.html POJ 1753,题目链接http://poj.org/problem?id=1753,翻译一下整个题目的大概意思: 有4*4的正方形,每个格子要么是黑色,要么是白色,当把一个格子的颜色改变(黑->白或者白->黑)时,其周围上下左右(如果存在

o19871108的专栏 416

poj 1753 Flip Game (dfs||位运算)

poj 1753 Flip Game 牛客题目 poj题目 题目大意:就是说有一个4*4的棋盘,棋盘上有16个黑白棋子随机摆放b代表黑色棋子,w代表白色棋子,现在我们可以操作这个棋盘改变棋子的颜色使整个棋盘最终都只有一种颜色的棋子,操作就是翻转棋子,白色棋子翻转就是黑色,反之亦然,每次翻转一枚棋子,它的周围四个(上、下、左、右)四枚棋子都要随之翻转,求最小翻转次数,使得最终棋盘上只有一种颜色的棋子。 输出:如果当前已经是符合题目的状态那么不用翻转,直接输出0,如果递归之后还是不能变为符合题目的状态那么输

少年白马 353

poj 1753 Flip Game-2

poj 1753 Flip Game-2 DFS DFS #include<iostream> using namespace std; bool map[6][6],flag=0; int dir[5][2]={{0,0},{0,1},{1,0},{-1,0},{0,-1}}; int step; voi...

weixin_30745553的博客 98

poj 1753 Flip Game-1

poj 1753 Flip Game-1 枚举法 参考点灯游戏 枚举 #include <iostream> using namespace std; void flip(int* a,int i) { a[i]=1-a[i]; if(i>3) a[i-4]=1-a[i-4]; ...

weixin_30902675的博客 81

POJ 1753 Flip Game BFS

Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 27410   Accepted: 11902 Description Flip game is played on a rectangular 4x4 field with two-sided p

kdwycz的刷题空间 3万+

poj1753 Flip Game 状态压缩+bfs

传送门:poj1753 Flip Game题目的大意在一个4*4的方格里面放黑或者白之一的卡片,当选中一个的,选中的那个就会翻转(如果是白色变为黑色,如果是黑色变为白色),伴随着他四周(上下左右)的的卡片也会翻转。就像下面这种情况, 如图所示,假设我们点击第三行第一列的时候不仅仅第三行第一列会变换状态,相应的第二行第一列,第三行第二列,第四行第一列也会变换,当然如果左边有的话也会变换状态。上图对应

woshinannan的专栏 613
上一篇: POJ 3669 - Meteor Shower
下一篇: POJ 3050 - Hopscotch
Freenm
博客等级 码龄15年 14粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值