C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 130 を表示中)
■76792 / )  C#のアルゴリズムについて。
□投稿者/ EDF (4回)-(2015/08/18(Tue) 11:18:56)

分類:[C#] 

using System;

class CrazyBot
{
double[] prob = new double[4];
bool[,] grid = new bool[100,100];
int[] mx = new int[4]{1,-1,0,0};
int[] my = new int[4] {0,0,1,-1};


public double getprobability(int n, int west,int east,
int north, int south)
{

prob[0] = east / 100;
prob[1] = west / 100;
prob[2] = north / 100;
prob[3] = south / 100;

return dfs(50, 50, n);
}

public double dfs(int x, int y, int n)
{

if (n == 0) return 1;
if (grid[x, y]) return 0;

double ret = 0;
grid[x, y] = true;

for (int i = 0; i < 4; i++)
{
ret += dfs(x + mx[i], y + my[i], n - 1) * prob[i];


}
grid[x, y] = false;

return ret;
}
}

class DO
{
public static void Main()
{
CrazyBot cb = new CrazyBot();
Console.WriteLine("" + cb.getprobability(10, 25, 25, 25, 25));
}
}
上のようなコードをかいて試しに値を代入してみたのですが結果が0になってしまいます。
何故そうなるのか教えてください
返信 編集キー/


管理者用

- Child Tree -