- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
给定一个由偶数个单元格组成的网格,其中网格边缘的两个单元格缺失,我想以这样的方式形成相邻单元格对,使得没有一个单元格没有伙伴(不计算“缺失” "细胞)。
根据两个“丢失”的单元格的放置位置,我相信做出这样的安排要么总是可能的,要么总是不可能的。我在这里画了两个例子,左边的图是一次成功的尝试,右边的图是一个不成功的尝试(剩下两个单元格没有伙伴)。为摇晃的相机手道歉。
单元格内的箭头指示单元格与哪个邻居合作。
我有两个问题:
我如何知道将“丢失”的细胞放在哪里是安全的,同时又不会让每个细胞都成为伙伴?
根据我上面提到的条件,并且考虑到单元格表可以更大(尽管总是有偶数个单元格)并且不一定是正方形(但矩形)?示例可以是 3x4 网格或 6x6 网格。
我还不知道如何知道将“丢失”的单元格放在哪里是安全的,但只要它们位于已知安全的位置,我的算法如下:
1. For each cell that isn't "missing" or already paired, iterating from top-left to bottom right, horizontally first:
2. Choose a random neighbor to form a pair with: either right or bottom.
3. Check all the cells to see if there are any cells that cannot make a pair, if so:
4. Undo the last pair, go back to 2 and choose the other neighbor.
我完全不知道图论或任何可以帮助我想出一个好的解决方案的东西,所以我非常感谢你能提供的任何帮助。任何不太晦涩的语言的伪代码或真实代码都很棒,简单的文本解释也是如此。
最佳答案
这个问题更广为人知的是 mutilated chessboard problem .由于Gomory,解决方案是首先将棋盘的正方形从1到n^2编号,使得数字k和k + 1相邻(并且1和n^2相邻)。
1 2 3 4
16 7 6 5
15 8 9 10
14 13 12 11
现在,当且仅当两个删除的数字不是偶数或奇数时,就有一个解决方案。如果第一个删除的数字是a,则平铺(a + 1, a + 2), (a + 3, a + 4)等,直到到达b。然后平铺 (b + 1, b + 2), (b + 3, b + 4) 等,直到到达 a。 (所有加法都以 n^2 为模完成,即它“转角”使得 n^2 + 1 = 1,等等)
这是一个 5x6 编号。
1 2 3 4 5
30 9 8 7 6
29 10 11 12 13
28 17 16 15 14
27 18 19 20 21
26 25 24 23 22
关于在细胞网格中形成对的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25331515/
我正在阅读 deduction guides在 C++17 中。假设我们有以下示例: template struct Custom { }; template struct Person {
我在我的 xamarin 表单项目中使用选项卡式页面。我正在尝试在 Android 的 MyTabsRenderer 类中使用 OnTabReselected 事件。但不会调用 OnTabSelect
我对 NSPredicate 有疑问。想不出一种写法,也找不到类似的东西。我有这个谓词: [NSPredicate predicateWithFormat:@"followedBy.username
我的模态中有一个小表单,如下所示: Name
我正在尝试制作用于表单验证的 jquery 插件(用于学习)。在此表单中,我无法获取类名称为“required”的所有表单字段。代码如下: (function( $ ) { $.fn.kValidat
在我的 Android 应用中,我从 Google Place API 获取附近餐馆的列表。 但不幸的是,这个列表没有给出餐厅的菜单。 我有 T_RESTAURANT 和 T_MENU 表。 假设我在
我正在尝试使用 angular.js 和 devise 设置登录。 这是我的表单 html: Email Password
谁能告诉我如何让生成的文档从表单中提取数据并将其作为标题?我已经查看了 Google Script 文档,但到目前为止我还没有找到任何可以回答我或向我展示类似示例的内容。到目前为止,我在这里找到了相关
当我有这样的表格时: “.”是什么意思?在行动中代表什么? 最佳答案 action 属性告诉表单将表单数据发布到哪里。 . 代表当前目录,所以我会说这是发布到当前目录中的默认文档。 相对路径有几
Mockito 似乎是一个非常漂亮的 Java stub /模拟框架。唯一的问题是我找不到任何关于使用他们的 API 的最佳方式的具体文档。测试中常用的方法包括: doXXX(???) : Stubb
我有 2 份表格。我从一种形式创建并展示了另一种形式。效果很好。但是,当我尝试从创建该表单的表单中关闭或处理该表单时,出现以下异常: Exception : Value Dispose() can
将我的应用程序上传到 TestFlight 时出现以下错误。 但是,我没有看到 missing 的任何位置Xamarin Assets 菜单中的图标。 (76x76、167x167 和 152x152
我的models.py文件看起来像这样 from django.db import models from django.template.defaultfilters import slugify
问题 学习 Xamarin 大学类(class) XAM120 .在将我的 IDial 实现添加到我的 UWP 项目时遇到障碍。出于某种原因,我的项目没有在我的系统上使用 PhoneCallManag
我在应用程序的列表页面上使用了 FloatingActionButton,我还想添加一个 searchBar。但我无法向他们展示该页面。我的代码和屏幕截图已关闭。如何显示搜索栏? FAB Github
实体产品和类别之间存在经典的多对多关系,其中一个产品可能包含在多个类别中。我们想在 UI 中使用带有 UITableViewController 或 UICollectionView 的 NSFetc
html 代码: js代码: function show(){ $.ajax({
我有一个用户列表。现在任何一个名字很长的用户都在搞乱排列/排列。 我认为通过为名称设置大小可以达到目的: .invitee .name{ height: 50px; width: 115px;
我正在使用 Flask 框架和 WTforms 库,我在更改选择字段中每个选项的颜色时遇到了问题,因为它总是显示为黑色而不是红色 我在模板中有下一个表单
Dugen Chen 写了一篇有用的文章,介绍如何将 HTML5 验证中的“required”属性添加到 Django 表单字段。 http://duganchen.ca/elegantly-addi
我是一名优秀的程序员,十分优秀!