我正在为即将到来的ACM编程竞赛练习一周,我对这个编程问题感到困惑.
问题如下:
你有一个由大小为4的正方形网格构成的拼图.每个网格方格都有一个硬币; 每个硬币显示头部(H)和尾部(T).这里展示了一个这样的难题:
HHHH
TTTT
HTHT
TTHT
任何当前显示Tails(T)的硬币都可以翻转到Heads(H).但是,每当我们翻转硬币时,我们还必须在相同的行中向上,向下和向左和向右翻转相邻的硬币.因此,如果我们在第二排翻转第二枚硬币,我们还必须翻转另外4枚硬币,给我们这个安排(改变的硬币以粗体显示).
H T HH
H H H T
H H HT
TTHT
如果硬币位于拼图的边缘,那么一边或另一边没有硬币,那么我们就会翻转更少的硬币.我们不会"缠绕"到另一边.例如,如果我们翻转上面的arragnement的右下角硬币,我们会得到:
HTHH
HHHT
HHH H
TT T H.
注意:只能选择显示(T)尾部的硬币进行翻转.然而,无论何时我们翻转这样的硬币,相邻的硬币也会被翻转,无论其状态如何.
这个难题的目标是让所有硬币显示出头部.虽然有些arragnements可能没有解决方案,但所有问题都会有解决方案.我们正在寻找的答案是,对于任何给定的4x4网格硬币,为了使网格完全成为头部,最少的翻转次数是多少.
对于实施例的网格:
HTHH
TTTH
HTHT
HHTT
这个网格的答案是:2翻转.
到目前为止我做了什么:
我将我们的网格存储为二维的布尔数组.Heads = true,tails = false.我有一个翻转(int row,int col)方法,它将根据上面的规则翻转相邻的硬币,我有一个isSolved()方法,它将确定拼图是否处于解决状态(所有头).所以我们有了"机制".
我们遇到问题的部分是我们应该如何进行循环,最少进行深度研究?
我有一个JQuery silder,我用它来设置Web应用程序的分数.我特意拥有它,以便用户点击提交按钮,但客户现在希望它更新AJAX风格.
这可以找到,但是滑动函数会在每个动作上调用,所以我的AJAX脚本会在滑块完成移动之前发送一个分数.
JQuery滑块上是否有一个函数在滑块释放时被调用?有没有直接的方法让我查看滑块何时被释放?
谢谢,.
有几个Web服务API可以注册API密钥.例如,UPS Web服务需要一个密钥,该密钥包含在对其服务的调用中 - 除了用户名和密码.
提供商使用的密钥是什么?也许UPS是唯一同时需要API密钥和用户名/密码的人?
一个想法是他们使用它来限制或衡量API的使用,但在我看来,用户配置文件中的设置可以轻松地做同样的事情 - 特别是因为你通常需要获得一个帐户w /用户名和密码才能获得首先是API.
我正在创建一个ASP.NET MVC站点,我需要实现登录和成员身份功能.
这是我自己推出的东西吗?我已经在我的数据库中有一个成员表,我应该创建一个用户名和密码哈希字段,然后检查它吗?如何让用户使用过期的cookie登录?
当您使用ASP.NET的内置Membership服务时,这是一个实例吗?
ASP.NET MVC新手寻求帮助.
我正在研究我对绑定变量问题的解决方案.
部分问题是你为"古代"通用机器实现了一个解释器.我已经为他们描述的机器实现了一个解释器,现在我正在运行一个大学提供的测试它的基准程序.
我的这个解释器的C#实现很慢!
我在ANTS分析器中启动了我的程序以查看减速的位置,我可以看到超过96%的时间被"加载程序"操作占用.

该运算符的规范如下:
#12. Load Program.
The array identified by the B register is duplicated
and the duplicate shall replace the '0' array,
regardless of size. The execution finger is placed
to indicate the platter of this array that is
described by the offset given in C, where the value
0 denotes the first platter, 1 the second, et
cetera.
The '0' array shall be the most sublime choice for
loading, and …Run Code Online (Sandbox Code Playgroud) 如何最好地混淆我的C#.net app产品密钥验证码?
是否足以将其置于"内部密封类CLASSNAME {};" 还是我需要做更多?
谢谢!
在我的操作系统类中,我们希望使用我们自己在C中的一些简单系统调用来修改Linux内核.
什么是适合此目的的好发行版?我们不需要任何装饰,没有GUI,香草内核等.越基本越好.
例如,如果您在Firefox中的右上角google/yahoo搜索框中键入内容,则会出现某种"建议的自动完成"类型的内容.
另一个例子是在此问题预览下方的youtube搜索框和Stackoverflow标签编辑框中.他们是如何工作的?他们背后的技术是什么?
我正在考虑实施一个"心跳"过程,以便在一天中完成大量重复的清理任务.
这似乎是使用Command模式的好机会,所以我有一个看起来像这样的界面:
public interface ICommand
{
void Execute();
bool IsReady();
}
Run Code Online (Sandbox Code Playgroud)
然后我创建了几个我想要运行的任务.这是一个基本的例子:
public class ProcessFilesCommand : ICommand
{
private int secondsDelay;
private DateTime? lastRunTime;
public ProcessFilesCommand(int secondsDelay)
{
this.secondsDelay = secondsDelay;
}
public void Execute()
{
Console.WriteLine("Processing Pending Files...");
Thread.Sleep(5000); // Simulate long running task
lastRunTime = DateTime.Now;
}
public bool IsReady()
{
if (lastRunTime == null) return true;
TimeSpan timeSinceLastRun = DateTime.Now.Subtract(lastRunTime.Value);
return (timeSinceLastRun.TotalSeconds > secondsDelay);
}
}
Run Code Online (Sandbox Code Playgroud)
最后,我的控制台应用程序在此循环中运行,寻找要添加到ThreadPool的等待任务:
class Program
{
static void Main(string[] args)
{
bool running …Run Code Online (Sandbox Code Playgroud) .net ×4
c# ×4
ajax ×1
algorithm ×1
api ×1
asp.net-mvc ×1
autocomplete ×1
heartbeat ×1
interpreter ×1
jquery ×1
kernel ×1
linux ×1
login ×1
membership ×1
osdev ×1
performance ×1
slider ×1
threadpool ×1
web-services ×1