변경이력

돌아가기
4 5개 문자 추가 8개 문자 삭제

2016/06/29 09:47

Straß Böhm Jäger

C#으로 작성했습니다. 위의 이우람 님의 코드를 도움 받아 작성했습니다. Random Walk가 아직도 이해하기 어렵네요. 추후에 다시 작성해서 올리겠습니다. ```{.cs} public double GenerateCountRandomWalk(int m, int n) { var count = 0d; var enabled = new bool[m, n]; var matrix = new int[m, n]; var maxX = m - 1; var maxY = n - 1; var left = m*n; var random = new Random(); var positionX = random.Next(0, m); var positionY = random.Next(0, n); while (true) { count++; matrix[positionX, positionY]++; if (!enabled[positionX, positionY]) { enabled[positionX, positionY] = true; if (--left == 0) break; } if (positionX == 0) positionX += random.Next(0, 2); else if (positionX == maxX) positionX += random.Next(-1, 1); else positionX += random.Next(-1, 2); if (positionY == 0) positionY += random.Next(0, 2); else if (positionY == maxY) positionY += random.Next(-1, 1); else positionY += random.Next(-1, 2); } return count; } ```
C#으로 작성했습니다. 위의 이우람 님의 코드를 도움 받아 작성했습니다. Random Walk가 아직도 이해하기 어렵네요. 추후에 다시 작성해서 올리겠습니다. ```{.cs} public double GenerateCountRandomWalk(int m, int n) { var count = 0d; var enabled = new bool[m, n]; var matrix = new int[m, n]; var maxX = m - 1; var maxY = n - 1; var left = m*n; var random = new Random(); var positionX = random.Next(0, m); var positionY = random.Next(0, n); while (true) { count++; matrix[positionX, positionY]++; if (!enabled[positionX, positionY]) { enabled[positionX, positionY] = true; if (--left == 0) break; } if (positionX == 0) positionX += random.Next(0, 2); else if (positionX == maxX) positionX += random.Next(-1, 1); else positionX += random.Next(-1, 2); if (positionY == 0) positionY += random.Next(0, 2); else if (positionY == maxY) positionY += random.Next(-1, 1); else positionY += random.Next(-1, 2); } return count; } ```
3 8개 문자 추가

2016/06/01 23:44

Straß Böhm Jäger

2 4개 문자 추가

2016/06/01 03:34

Straß Böhm Jäger

1 Original

2016/05/31 05:25

Straß Böhm Jäger

코딩도장

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳입니다.