开局托儿所

news2025/1/16 13:59:04

一,游戏规则

示例:

9549366345
5915827325
3537176245
5786747469
1349552241
6176651569
3255444341
5227571466
9148363571
6392362557
4188251984
6152539679
8798225943
4228645479
2872468989
1326449758

二,贪心算法

我们先用贪心算法试一下,能消除到什么程度。

这里用的是一个不太严格的贪心算法,也就是肉眼所到之处,看到啥就消除啥。

(1)消除横着的或者竖着的2个或者3个

(2)继续消除,这一轮形状会比较多

(3)继续消除

(4)无法消除的数字

还有45个数字无法消除

三,枚举算法

我们用枚举算法试一下,可以消除到什么程度

代码:

void cal(vector<vector<int>>& v)
{
	for (int r = 0; r < 16; r++) {
		for (int r2 = r; r2 < 16; r2++) {
			for (int c = 0; c < 10; c++) {
				for (int c2 = c; c2 < 10; c2++) {
					int s = 0;
					for (int i = r; i <= r2; i++) {
						for (int j = c; j <= c2; j++) {
							s += v[i][j];
						}
					}
					if (s > 10)break;
					if (s == 10) {
						for (int i = r; i <= r2; i++) {
							for (int j = c; j <= c2; j++) {
								v[i][j] = 0;
							}
						}
						cout << "r:" << r << "to" << r2 << endl;
						cout << "c:" << c << "to" << c2 << endl;
						for (int i = 0; i < 16; i++) {
							for (int j = 0; j < 10; j++) {
								cout << v[i][j];
							}
							cout << endl;
						}
						cout << endl << endl;
						return;
					}
				}
			}
		}
	}
}

int main() {
	vector<vector<int>>v(16,vector<int>(10));
	for (int i = 0; i < 16; i++) {
		for (int j = 0; j < 10; j++) {
			cin >> v[i][j];
		}
	}
	for (int i = 0; i < 100; i++) {
		cal(v);
	}
	return 0;
}

输入:

9    5    4    9    3    6    6    3    4    5
5    9    1    5    8    2    7    3    2    5
3    5    3    7    1    7    6    2    4    5
5    7    8    6    7    4    7    4    6    9
1    3    4    9    5    5    2    2    4    1
6    1    7    6    6    5    1    5    6    9
3    2    5    5    4    4    4    3    4    1
5    2    2    7    5    7    1    4    6    6
9    1    4    8    3    6    3    5    7    1
6    3    9    2    3    6    2    5    5    7
4    1    8    8    2    5    1    9    8    4
6    1    5    2    5    3    9    6    7    9
8    7    9    8    2    2    5    9    4    3
4    2    2    8    6    4    5    4    7    9
2    8    7    2    4    6    8    9    8    9
1    3    2    6    4    4    9    7    5    8
 

输出:

......

r:14to14
c:0to1
9049000000
0000000000
0000000000
0086000000
0049000000
0076000000
0000000000
0027000000
9040000000
0090000000
0080000084
6000009679
8090000943
4000000479
0070008989
1320009758

剩余43个,单论个数的话,居然比我人工做的还好。。。

四,一些启发式策略

边框,小数字是资源,大数字是障碍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1450345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wordpress好的网站主题

有什么好的网站主题&#xff0c;都分享在这里了。 蓝色风格的wordpress模板&#xff0c;好的wordpress网站主题&#xff0c;需要既好看&#xff0c;又好用。 https://www.zhanyes.com/qiye/6305.html 血红色的好看的wordpress主题&#xff0c;布局经典&#xff0c;设计好的&am…

Vue2学习第二天

Vue2 学习第二天 1. 数据绑定 Vue 中有 2 种数据绑定的方式&#xff1a; 单向绑定(v-bind)&#xff1a;数据只能从 data 流向页面。双向绑定(v-model)&#xff1a;数据不仅能从 data 流向页面&#xff0c;还可以从页面流向 data。 备注&#xff1a; 双向绑定一般都应用在表单…

大学生画图搜题答案神器?一键查询完备大学题库 #知识分享#经验分享#学习方法

大学生必备的搜题工具&#xff0c;专业课本习题、电子版教材、考研资料、英语四六级等考试题目也能一并搜索&#xff0c;每道题目都有详细的讲解&#xff0c;每个都堪称大学神器。 1.试题易 这是一个网站 涵盖初高中&#xff0f;大学&#xff0f;专升本&#xff0f;考研&…

python视频播放列表信息库之m3u8使用详解

m3u8库是什么&#xff1f; m3u8是一个用于解析和操作M3U8文件的Python库。M3U8文件&#xff0c;是指使用UTF-8编码格式的M3U文件&#xff0c;它们通常用于播放列表文件&#xff0c;尤其是在HTTP Live Streaming&#xff08;HLS&#xff09;中。简单来说&#xff0c;m3u8库能帮…

嵌入式中I2C 相关的硬件问题汇总及死锁解决办法

本文主要介绍如何解决I2C设备硬件设计上的各种问题&#xff0c;希望对大家有所帮助&#xff01; 关于I2C协议详细的讲解&#xff0c;可以参考之前的推文&#xff1a;全面解析 I2C 通信协议 一般情况下&#xff0c; i2c 设备焊接没什么问题&#xff0c;按照设备手册一步步来&a…

<网络安全>《33 网络信息安全基础(4)网络安全工程师进阶体系(一)》

1 图谱 1 基础入门 1.1 网络安全导论 网络安全行业简介&#xff1a; 行业前景 历史 重要事件 网络安全意识与法律法规 安全意识 法律法规 案例 网络安全管理概述 安全运营、运维、模型 等保测评 等保简介、等保规定、流程和规范 1.2 渗透测试基础 渗透测试概述 - 流程、分…

Go语言每日一练——链表篇(九)

传送门 牛客面试笔试必刷101题 ----------------链表相加(二) 题目以及解析 题目 解题代码及解析 解析 这一道题主要是要对链表相加的过程进行模拟&#xff0c;虽然思路不难但是细节出比较多&#xff0c;这里博主的思路主要是先将两个链表反转过来然后以Head1为基础来模拟…

java 宠物在线商城系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 宠物在线商城系统是一套完善的java web信息管理系统 servletdaobean mvc模式&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S 模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…

Windows11通过SMB映射NAS网络驱动磁盘

环境 NAS&#xff1a;威联通TS-416 操作系统&#xff1a;Windows11 第一步 连接NAS winr 打开运行&#xff0c;输入NAS局域网IP地址&#xff0c;按照如下的格式输入 然后输入NAS的账号和密码就可以通过SMB连接到NAS了 第二步 映射网络驱动器 举个栗子&#xff1a;右键Stora…

记录 | windows pyqt5 pycharm配置

一、下载安装 离线安装 通过PyPI下载 https://pypi.org/ 依此搜索 python_dotenv&#xff0c;PyQt5_sip&#xff0c;PyQt5&#xff0c;pyqt5_tools&#xff0c;注意PyQt5和pyqt5_tools版本对应。 下载之后放在\Anaconda3\Lib\site-packagescmd依次 pip install *.whl 二…

python系统学习Day2

section3 python Foudamentals part one&#xff1a;data types and variables 数据类型&#xff1a;整数、浮点数、字符串、布尔值、空值 #整型&#xff0c;没有大小限制 >>>9 / 3 #3.0 >>>10 // 3 #3 地板除 >>>10 % 3 #1 取余#浮点型&#xff…

H12-821_48

48.下面是台路由器输出的BGP信息,关于这段信息描述措误的是 A.路由器的Router ID是1.1.1.9 B.display bgp network命令来显示BGP通过network ( BGP)的通告的路由信息 C.该路由器所在AS号是10 D.该路由器通过import-route命今引入了4.4.4.0/24的网段 答案&#xff1a;D 注释&am…

C++初阶:适合新手的手撕list(模拟实现list)

上次讲了常用的接口&#xff1a;今天就来进行模拟实现啦 文章目录 1.基本结构与文件规划2.空参构造函数&#xff08;constructor)3.完善迭代器&#xff08;iterator&#xff09;(begin(),end())4.List Capacity&#xff08;size(),empty())4.增删改查(push_back,pop_back,pop_f…

【初始C++】引用的概念及使用场景、引用与指针的区别、内联函数、类型推导关键字auto、范围for循环、指针空值nullptr

目录 1.引用 1.1引用的概念 1.2引用的特性 1.3使用场景 1.4引用与指针的区别 2.内联函数 2.1内联函数的概念 2.2内联函数的特征 3.auto关键字&#xff08;C11&#xff09; 4.基于范围的for循环&#xff08;C11&#xff09; 5.指针空值nullptr&#xff08;C11&#x…

攻防演练后的一点随记

攻防演练 攻防演练算是告一段落了&#xff0c;各位红队和蓝队的兄弟们都辛苦了&#xff0c;写一点随记&#xff0c;供大家参考。 记得第一次参加攻防演练是在2018年&#xff0c;当时被派到北京&#xff0c;在某个政企单位做攻防演练支撑工作&#xff0c;然后2020年又被紧急派到…

RK3568笔记十六:Framebuffer实验

若该文为原创文章&#xff0c;转载请注明原文出处。 本意是移植LVGL&#xff0c;但在编译DRM过程中一直编译失败&#xff0c;然后就想Framebuffer是否可以用&#xff0c;所以测试一下。 一、framebuffer介绍 FrameBuffer中文译名为帧缓冲驱动&#xff0c;它是出现在2.2.xx内…

剑指offer——数值的整数次方

目录 1. 题目描述2. 一般思路2.1 有问题的思路2.2 全面但不高效的思路2.3 面试小提示 3. 全面又高效的思路 1. 题目描述 题目:实现函数 double Power(double base,int exponent)&#xff0c;求base 的exponent 次方。不得使用库函数&#xff0c;同时不需要考虑大数问题 2. 一般…

【AIGC】Stable Diffusion的常见错误

Stable Diffusion 在使用过程中可能会遇到各种各样的错误。以下是一些常见的错误以及可能的解决方案&#xff1a; 模型加载错误&#xff1a;可能出现模型文件损坏或缺失的情况。解决方案包括重新下载模型文件&#xff0c;确保文件完整并放置在正确的位置。 依赖项错误&#x…

树形dp 笔记

树的最长路径 给定一棵树&#xff0c;树中包含 n 个结点&#xff08;编号1~n&#xff09;和 n−1 条无向边&#xff0c;每条边都有一个权值。 现在请你找到树中的一条最长路径。 换句话说&#xff0c;要找到一条路径&#xff0c;使得使得路径两端的点的距离最远。 注意&…

什么是“感知机”?

感知机&#xff08;神经网络和支持向量机的理论基础&#xff09; 概念&#xff1a;简单来说&#xff0c;感知机就是一个旨在建立一个线性超平面对线性可分的数据集进行分类的线性模型 分类&#xff1a; 单层感知机多层感知机&#xff08; Multi-Layer Perceptron&#xff0c…