?? knight_moves.cpp
字號:
/*
Author: BlueBlood--六院一隊吳誠堃是也,其學號:200306020093
Explantion: Perhaps many people like to use recursion mathod, but as I have been practise using Dynamic Programming,
I did it in my own DP way, which is efficient when the dimensions are larger.
Again, this problem is similiar to the problem "Pascal' Travel" on Peking University Online Judge. ^-^
Everyone no matter his age or sex, he can do DP.
*/
#include <stdio.h>
int board[9][5];
int total;
int dir[4][2] = {{1,-2},{2, -1},{2,1},{1,2}};
int i,j;
int main()
{
for (i = 0; i < 9; i++)
for (j = 0; j < 5; j++)
board[i][j] = 0;
board[0][0] = board[1][2] = board[2][1] = 1;
for (i = 1; i < 9; i++)
for (j = 0; j < 5; j++)
{
if ( board[i][j] != 0 )
{
for (int k = 0; k < 4; k++)
{
int x = i + dir[k][0];
int y = j + dir[k][1];
if ( x < 0 || x >= 9 || y < 0 || y >= 5 )
continue;
board[x][y] += board[i][j];
}
}
}
printf("%d\n", board[8][4]);
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -