Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DinamichnoOptimirane {
- private static int number = 3;
- private static int row = number;
- private static int col = number;
- public static void main(String[] args) {
- long[][] Stat = new long[row][col];
- MemSet(Stat);
- Stat = new long[row][col];
- PrintArray(Stat);
- System.out.println("Number of solutions : " + recurse(row - 1, col - 1, Stat));
- System.out.printf("");
- PrintArray(Stat);
- }
- private static long recurse(int remRows, int remCols, long [][] Stat){
- for (int i = 0; i < Stat.length; i++) {
- long[] currentstep = Stat[i];
- while(remRows < row) {
- if (remRows == 0) {
- currentstep = Stat[i++];
- if (remRows == 0) {
- return 1;
- }
- }
- }
- for (int j = 0; j < Stat[i].length; j++) {
- while(remCols < col) {
- if (remCols == 0) {
- currentstep = Stat[j++];
- if (remCols == 0) {
- return 1;
- }
- }
- }
- }
- MemSet(Stat);
- }
- if(Stat[remRows][remCols] != 0)
- return Stat[remRows][remCols];
- long answer = 0;
- answer += recurse( remRows - 1, remCols, Stat );
- System.out.println(answer + "d");
- answer += recurse (remRows, remCols - 1, Stat);
- System.out.println(answer + "r");
- //return answer;
- return Stat[remRows][remCols] = answer;
- }
- private static void PrintArray(long[][] Stat){
- System.out.println("Stat: ");
- for (int i = 0; i < Stat.length; i++) {
- for (int j = 0; j < Stat[i].length; j++) {
- System.out.print(Stat[i][j] + " ");
- }
- System.out.println();
- }
- }
- private static void MemSet(long[][] Stat){
- for (int i = 0; i < row; i++) {
- for (int j = 0; j < col; j++) {
- Stat[i][j]= 0;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement