当前位置: 首页 > news >正文

成品网站建设价格建站推广网站

成品网站建设价格,建站推广网站,阅读网站怎么做,微网站建设哪家好题目描述: 25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“1”表示一盏开着的灯,用数字“0”表示关…

题目描述:

25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。

我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。

主要思想:每一行的暗灯都由下面一行去点亮。

第一步我们先要去枚举第一行的所有按法

枚举第一行的所有按法是用来减少步数的,如果从第二行开始其实就已经固定了最后的答案,这样的解不一定是最少的甚至可能超出范围而没有解。

枚举第一行的意义是:不需要在意第一行的灯是灭是暗,只需把第一行的按法枚举一遍,也就是我们说的 “操作”,每个位置都有两种选择,按(用1表示)或者不按(用0表示),遍历这32种操作引发的情况,每一次再通过res = min(res, step);把最小步数存一下,就能找到最优解

步骤:

1️⃣枚举第一行时:1表示按一下,0表示不按
2️⃣在遍历整个矩阵时:1是灯亮,0是灯灭
3️⃣memcpy 可以用来复制数组,这里是先把原数组备份一下,然后对本数组操作,本次操作结束后,要再把备份数组还原回来,再进行下一次操作

代码:
#include <bits/stdc++.h>
using namespace std;const int N = 6;char g[N][N],backup[N][N];
int dx[] = {-1,0,1,0,0},dy[] = {0,1,0,-1,0};void turn(int x,int y)
{for (int i = 0;i < 5;i++){int ax = x + dx[i],ay = y + dy[i];if(ax < 0 || ax > 4 || ay < 0 || ay > 4) continue;g[ax][ay] ^= 1;}
}int main()
{int t;cin >> t;while (t--) 
http://www.dt0577.cn/news/2121.html

相关文章:

  • 沈阳网站制作定制厂家企业如何建立网站
  • 个人域名备案流程谷歌seo代运营
  • 湘潭做网站品牌磐石网络北京seo营销公司
  • 武汉做医院网站公司上海企业网站推广
  • 百度网盘网站开发文档模板优化关键词的方法
  • 免费建网站那个好技术教程优化搜索引擎整站
  • 如何申请做网站b2b免费外链发布
  • 德国室内设计网站简述网络营销的特点
  • 廊坊网站快速排名优化百度一下百度一下
  • 网站建设 台州职业技能培训有哪些
  • 如何利用网站新闻做推广东莞整站优化排名
  • 泵阀网站建设旺道seo推广
  • 广东深圳网站建设微信商城开发软文写作300字
  • 免费网站空间php产品推广文案100字
  • 建个好网站搜索引擎优化好做吗
  • 湘潭今天刚刚发生的新闻班级优化大师的优点
  • 网站主机空间价格外包网络推广公司
  • 深圳住 建设局网站关键词推广技巧
  • 购物网站流量怎么做seo页面内容优化
  • 学做烤制食品的网站广州网站定制多少钱
  • 青岛东八区创意做网站优化大师平台
  • 打开一个网站搜索页面跳转js贵阳做网络推广的公司
  • 北京网络营销推广公司seo工程师
  • 北京网站建设服务北京疫情最新消息情况
  • 网站成品免费下载微信公众号小程序怎么做
  • 网站检索 标签关键词规划师
  • 绍兴做网站哪家好百度提交入口地址在哪
  • 有料网b2b官方网站网络优化工具
  • 企业常用系统软件网站关键词优化
  • 可以做视频推广的网站吗登封网站关键词优化软件