我不希望你为我解决这个问题,我只是想问一些想法.
这是下面的输入,它代表一张地图.'x'代表土地,而点 - 水.因此,使用'x',您可以在地图上表示"孤岛".
xxx.x...xxxxx
xxxx....x...x
........x.x.x
..xxxxx.x...x
..x...x.xxx.x
..x.x.x...x..
..x...x...xxx
...xxxxxx....
x............
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,有一些岛屿是封闭的,即如果有一些船在其领土内,它将无法离开,因为:
..xxxxx.
..x...x.
..x.x.x.
..x...x.
..xxxxx.
Run Code Online (Sandbox Code Playgroud)
还有一些开放的岛屿可以摆脱它们,例如:
.xxxxx
.x...x
.x.x.x
.xxx.x
Run Code Online (Sandbox Code Playgroud)
问题在于:对于上面给定的NxM地图,计算任何岛屿的开放状态,以及关闭的数量.
我再说一遍:我不想让你解决它,只需要一些吸气,解决的想法.谢谢
所以我最近在我的手机上玩了很多pacman,我想知道鬼魂是如何独立工作的.我在考虑如何编程.
我想到的一个选择是线程.所有4个幽灵都在自己的线程中运行,并以某种方式找到了pacman的位置.但是有四个线程正在工作并且同步会很困难似乎有点太多了.此外,谷歌在Javascript中写了pacman,它不支持线程,所以它可以在没有线程的情况下完成,并且必须有一种更简单的方法.
我的第二个想法是事件处理程序.我只是将pacman将触发的'directionChanged'事件连接到4个事件处理程序,每个鬼程一个.然后每个幽灵决定走向pacman的路径.我认为这更有可能发生了什么.但是如果事件处理程序是同步执行的话,它会变慢,因为路径必须按顺序计算,第4个鬼魂需要时间来改变方向,这可能会产生可见的滞后(可能).此外,当他们撞墙时,鬼魂会自己发射一个事件,他们的事件处理程序会改变鬼魂的方向.但考虑到pacman改变方向的频率和四个鬼魂的反应,事件处理程序似乎也有点太多了.
我说上述想法会有点太多,因为记得游戏是在30年前编写的,当cpu时间和内存稀缺时,所以我认为必须有一个更简单的方法.
而且,即使pacman仍然存在,鬼魂似乎也在遵循不同的路径.所有鬼魂都使用完全不同或不同优化的路径寻找算法吗?
我更感兴趣的是找出所有鬼魂似乎同时为他们自己的工作方式而不是他们使用的路径查找算法.思考?
我知道,这个头衔太可怕了,但在我知道问题的答案之前,我想不出更好的一个.如果可以,请编辑.
我在OnlineJudge网站上解决(为了好玩)一个非常简单的问题.问题是这样的:
输入:包含小写拉丁字母的单个字符串.字符串的长度至少为1且最多为100.
输出:单个数字,即输入字符串中最长子字符串的长度,该字符串在该字符串中至少出现两次(出现次数可能重叠).
样本输入: ababa
样本输出: 3
我使用以下代码接受了Accepted:
#include <iostream>
#include <string>
#include <algorithm>
int main()
{
std::string s;
std::cin >> s;
int max = 0;
typedef std::string::const_iterator sit;
sit end = s.end();
for(sit it1 = s.begin(); it1 != end; ++it1)
for(sit it2 = it1 + 1; it2 != end; ++it2)
max = std::max(max, std::mismatch(it1, it1 + (end - it2), it2).first - it1);
std::cout << max;
}
Run Code Online (Sandbox Code Playgroud)
但是,我在测试42上得到运行时错误(我不知道那个输入是什么 - …
从数百个Visual Studio选项中,是否有一个禁用VS从其他控件复制和粘贴时替换标记中的ID的方式?
几乎总是只需要改变几个字符,但VS认为他正在聪明地取代所有的ID
我正在研究前端网络和休息服务之间的连接.我成功地进行了跨域Ajax调用,但我仍然遇到了一些问题.
发生400错误时无法接收responseText.
我用wireshark验证了,我确定responseText是由REST发送的.但当我看到萤火虫时,我就是这样的:
POST http:api.yutagz.com用户400 Bad Request 133ms
对象{readyState = 0,status = 0,statusText ="error"responseText =""}
'400错误请求'没问题,但我需要responseText来告诉用户实际发生了什么.
这是我的呼叫代码(处理成功事件):
$.ajax({
type: "POST",
url : "http://api.yutagz.com/users",
data: dataString,
dataType: 'json',
success : function(data,data1,data2){
alert("OK : "+data);
console.log(data2);
},
error:function (xhr){
alert(JSON.stringify(xhr));
console.log(xhr);
switch (xhr.status) {
case 404: alert("404");
case 400: alert("400");
// Take action, referencing xhr.responseText as needed.
}
},
complete : function (xhr){
alert(JSON.stringify(xhr));
console.log(xhr);
switch (xhr.status) {
case 404: alert("404");
case 400: alert("400");
// Take action, referencing xhr.responseText as needed.
} …Run Code Online (Sandbox Code Playgroud) 有一组共线点.问题是添加一个位于同一行的新点,以便从新点到现有点的距离总和最小.(假设该点位于水平线上).
我想到的解决方案是:
我无法证明上述方法有效.这是对的吗?还有什么更好的解决方法吗?
我正准备参加一个编程竞赛,我们用c ++来解决编程问题.
看看前一年的解决方案,它们看起来很简单(不超过30行代码).我意识到他们广泛使用STL来轻松操作 - 矢量,集合,地图,列表以及STL中可用的算法.
像我这样的初学者想要学习STL的功能及其在解决问题中使用的网站吗?
先感谢您.
我正在使用PHP readfile函数来读取文件并将其打印出来:print readfile ('anyfile').这样可行,但文件的内容长度也会添加到字符串的末尾.为什么?
我真的很困惑.
我试图在我的网站上使用一些非常简单的Facebook插件,特别是基本的"喜欢"按钮.
我已经知道如何使用iFrame的限量版本.
但是,现在我正在试图找出XFBML方法,在线文档似乎对你已经知道的内容做了很多假设,并且在工作示例上做得很短.例如,它们向您展示如何调用JavaScript Init并为您提供元素fb的单行HTML代码:like ...但是我看不到任何关于如何显示/隐藏面,设置默认字体等的示例像在iFrame代码中一样.
我已经发现你需要将它们作为属性添加到元素中,但这要归功于StackOverlfow并且不要感谢Facebook文档,它只是带你进入圈子.
<fb:like href="http://mydomain.com" show_faces="true" action="recommend" colorscheme="light" width="400" height="35" />
Run Code Online (Sandbox Code Playgroud)
好的,所以现在使用XFBML代码时,它的高度应该根据登录情况自动扩展/收缩,我假设.
我不知道我是否应该将高度设置为"80"或者是否自动发生.
我不知道我应该在Init脚本中使用"你的app id".没有应用程序...只是一个Facebook公司页面...所以当我在网站上放一个Like按钮时,为什么我需要一个App ID?
<script>
window.fbAsyncInit = function() {
FB.init({
appId: 'your app id',
status: true,
cookie: true,
xfbml: true
});
};
Run Code Online (Sandbox Code Playgroud)
对这些问题的任何启示都将受到赞赏.
谢谢!
嗨,我正在做一个社交网络项目,我可以选择添加/编辑照片,当用户点击按钮时,图像将被上传到数据库,它将被更新......但是当用户点击裁剪按钮时它将在一些弹出窗口或模态窗口中打开然后用户裁剪该图像然后它将通过ajax和php保存在数据库中,然后将其显示在他的位置上.
有这样的jquery插件还是需要自定义代码.
如果自定义代码那么什么是最好的方法.