poj1753Flip Game

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

链接:http://poj.org/problem?id=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 either it's black or white side up. Each round you flip 3 to 5 pieces, thus changing the color of their upper side from black to white and vice versa. The pieces to be flipped are chosen every round according to the following rules:

1 Choose any one of the 16 pieces.

2 Flip the chosen piece and also all adjacent pieces to the left, to the right, to the top, and to the bottom of the chosen piece (if there are any).


Consider the following position as an example:

bwbw
wwww
bbwb
bwwb
Here "b" denotes pieces lying their black side up and "w" denotes pieces lying their white side up. If we choose to flip the 1st piece from the 3rd row (this choice is shown at the picture), then the field will become:

bwbw
bwww
wwwb
wwwb
The goal of the game is to flip either all pieces white side up or all pieces black side up. You are to write a program that will search for the minimum number of rounds needed to achieve this goal.

Input

The input consists of 4 lines with 4 characters "w" or "b" each that denote game field position.

Output

Write to the output file a single integer number - the minimum number of rounds needed to achieve the goal of the game from the given position. If the goal is initially achieved, then write 0. If it's impossible to achieve the goal, then write the word "Impossible" (without quotes).

Sample Input

bwwb

bbwb

bwwb

bwww

Sample Output

4

思路:简单枚举加深搜

#include<stdio.h>
#include<iostream>
using namespace std;
int chess[4][4];
int c=33;
void build()//将棋盘的颜色以标记化 
{  char c;
    int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{cin>>c;
if(c=='w')
chess[i][j]=0;
else
chess[i][j]=1;}
}
void turn(int x,int y)//翻转
{
     if(x>=0&&x<=3&&y>=0&&y<=3)
     chess[x][y]=!chess[x][y];
}
void flip(int s)//一个棋子变化,周围四个都要变化
{
int i=s/4;
int j=s%4;
turn(i,j);
turn(i+1,j);
turn (i,j+1);
turn(i-1,j);
turn(i,j-1);   
}
int complete()//判断棋盘是否变成同一的颜色
{
int i,j,s1=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
s1+=chess[i][j];
if(s1%16)
return 0;
else
return 1;
}
void dfs(int s,int b)//进行深搜
{
     if(complete())
     {if(c>b)
     c=b;return;
     }
     if(s>=16)
     return;
dfs(s+1,b);
flip(s);
dfs(s+1,b+1);
flip(s);     
}
int main()
{  build();
dfs(0,0);
if(c==33)//由于翻转次数最多为32次
printf("Impossible\n");
else
printf("%d\n",c);
return 0; 
}


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

相关推荐

软件项目质量管理

识别项目中涉及质量管理的不同角色,如项目经理、质量经理、测试人员等,明确每个角色的职责和任务,包括负责哪些质量管理活动和决策。1、编制软件项目的质量管理计划,包括确定项目的质量标准和要求,以及制定质量控制和质量保证策略等。2、编制软件项目的质量管理计划,包括确定项目的质量标准和要求,以及制定质量控制和质量保证策略等。测试用例表是质量控制过程中的关键工具,确保所有功能和场景都被验证,减少项目中的缺陷。1、理解项目质量管理的基本过程,包括质量计划、质量保证、质量控制和质量改进;明确质量管理活动中的角色和职责。

weixin_51996255的博客 1258

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

小坏蛋_千千 1771

不修改MMDetection源码使用自定义数据和模型

以目标检测为例,用非侵入式的模型和MMDetection数据的方法进行配置。也就是不改动MMDetection的任何源码或目录的条件下,使用自定义数据训练自定义模型。

Dlite的技术笔记 1340

【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

silvaco(TCAD)击穿特性仿真,的不收敛问题

在silvaco仿真学习过程中,最近这段时间一直有一个很大的问题困扰着我,那就是我在仿真击穿特型曲线的过程中,在电压加到后期比较大的情况下,往往会出现仿真不收敛的情况,正常情况下器件的击穿应该在一个外加偏压上,电流出现迅速的上升,这才是击穿的定义,但是我仿真的过程中程序跑到一个较大的电压时,器件出现击穿,我观察电压电流曲线,在击穿电压(程序报告的)电流并没有出现迅速的变化,类似于下图这种形式。(2)解决方法,将初始电压调整到合适的值,这个值可能是更大的也可能是更小的,要注意多多尝试。

zm19992533002908的博客 4944

线性代数知识点整理

线性代数基础知识点摘要整理

cuguanren的博客 3万+

poj dfs相关之1753 Flip Game

poj dfs相关之1753 Flip Game

ziqi9216的博客 262

将Python爬取的数据导入钉钉多维表

摘要:本文介绍将Python爬取的数据导入钉钉多维表的完整解决方案。首先通过requests库爬取数据并解析为结构化格式,然后使用钉钉开放平台API对接多维表。关键步骤包括获取app_key、app_secret等凭证,通过OAuth2获取access_token,以及批量写入记录。文章详细说明了参数获取位置、字段类型匹配、权限配置等注意事项,并提供了错误处理建议和性能优化方法。适用于需要将网络数据同步到钉钉多维表的开发场景。

IT深耕十余载,大道之简 2130

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

TIA Portal (博图) -两台不同网段S7-1200通信(上)

因为不同网段意味着它们默认不在同一个广播域,并且没有网关设备来处理路由,所以标准的 TCP/IP 通信(如 `TSEND_C`/`TRCV_C`)无法直接建立连接。S7 通信 (PUT/GET): 最简单,配置好连接后,在客户端 PLC 使用 `PUT` 指令发送数据到服务器 PLC,使用 `GET` 指令从服务器 PLC 读取数据。* 在地址详细信息中,确保 本地连接端点是客户端 PLC 的接口,远程连接端点是服务器 PLC 的接口和 IP (`192.168.2.20`)。

电工 2678

Python 爬虫实战:攻克小红书种草笔记,抓取美妆好物推荐数据

通过本次 Python 爬虫实战,我们成功地从小红书爬取了美妆种草笔记的数据,并进行了存储、处理、分析和可视化展示。在这个过程中,我们不仅掌握了爬虫技术的基本应用,还学会了如何对动态加载的数据进行处理和分析。然而,本次爬虫任务也存在一些局限性,例如仅爬取了部分笔记的数据,且未对笔记中的图片和视频内容进行分析。在未来的工作中,我们可以进一步优化爬虫程序,爬取更多笔记的数据,并深入分析笔记中的多媒体内容、用户行为模式等,为美妆品牌和消费者提供更有价值的数据支持。

u014481728的博客 3268

POJ1753 Flip Game

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

Fitz的博客 839

RK3588网卡出现丢包或者带宽不足的问题验证排查

注意除了有最大的TCP数据接收缓冲,还有/proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲可以调整,这里暂时没用到,针对具体需要可适当调整。比如把ethx接口中断从默认的cpu0迁移到其它cpu,例如将eth0中断234移到cpu7 (10是16进制, cpu0 =3588的cpu有8个核,4个A55(小核)+4个A76(大核),可以找到对应中断 将中断从默认cpu0核切到cpu7。tcp_rmem:单位是字节,接收缓存区大小,缓存从对端接收的数据,后续会被应用程序读取。

Android/Linux驱动开发传帮带学习,让驱动入门门槛更低! 2026

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[POJ 1753]Flip Game

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

ZhiyunXie的博客 354

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

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

少年白马 353

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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

poj1753 Flip Game 状态压缩+bfs

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

woshinannan的专栏 613

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万+

POJ - 1753 Flip Game

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 either it's bl...

GJLfly的博客 7296

POJ1753 Flip Game

POJ1753Flip Game Time Limit:1000MS Memory Limit:65536K Total Submissions:54415 Accepted:22787 Description Flip game is played on a rectangular 4x4 field with two-s...

weixin_30726161的博客 166

Flip Game POJ - 1753

  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 either it's...

Qtt110的博客 5518

POJ1753Flip Game

第一道poj题,简单枚举+dfs,poj没有题解根本刚不过,代码和题解高度相似。这道题难点在于对递归的理解。step记录步数,棋盘模型决定了step上限是16,暴力枚举出每次到达相应步数的所有情况,进行判断,flag为真时找到步数,输出,结束。//测试无法找到答案时递归次数为2^16次。 1753 Accepted 164K 235MS C++ 1202B #include using

nar666的博客 418
上一篇: FZU 1015 土地划分
下一篇: POJ 3125 Printer Queue(打印队列---模拟)
CSUST_ACM
博客等级 码龄15年 42粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值