Backup/HanoiData.cs
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
namespace Hanoi
{
class HanoiData
{
public Dictionary<string, List<int>> diskList = new Dictionary<string, List<int>>();
public int diskCount;
public HanoiData(int diskCount)
{
this.diskCount = diskCount;
diskList.Add("x", new List<int>());
diskList.Add("y", new List<int>());
diskList.Add("z", new List<int>());
for (int i = 0; i < diskCount; i++)
{
diskList["x"].Add(i);
}
}
public void Move(string sourceStick, string targetStick)
{
try
{
diskList[targetStick].Insert(0, diskList[sourceStick][0]);
diskList[sourceStick].RemoveAt(0);
}
catch
{
}
}
public List<Step> GenerateSteps()
{
List<Step> stepList = new List<Step>();
GenerateSteps(stepList, diskCount, "x", "y", "z");
return stepList;
}
private void GenerateSteps(List<Step> stepList, int index,string startStick, string middleStick, string endStick)
{
if (index == 1)
{
stepList.Add(new Step(startStick, endStick));
}
else
{
GenerateSteps(stepList, index-1, startStick, endStick, middleStick);
stepList.Add(new Step(startStick, endStick));
GenerateSteps(stepList, index - 1, middleStick, startStick, endStick);
}
}
}
public class Step
后面还有 11 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
