#include #include int cnt = 0; int setnext( int **, int, int, int ); int main() { int N; scanf( "%d\n", &N ); int **masu; masu = ( int **) malloc( sizeof(int *)* N ); for( int i = 0; i < N; i++ ) { masu[i] = ( int *) malloc( sizeof(int *)* N ); } for( int i = 0; i < N; i ++ ) { for( int j = 0; j < N; j++ ) { masu[i][j] = 0; } } int i,j; i = N -1; j = (N -1 )/2; masu[i][j] = 1; cnt++; setnext( masu, N, i, j ); printf("%d\n", cnt ); return 0; } int setnext( int **masu, int N, int i, int j ) { int nexti, nextj; nexti = i-2; nextj = j-1; if( nexti < N && nexti >=0 && nextj < N && nextj >=0 ) { if( masu[nexti][nextj] == 0 ) { masu[nexti][nextj] = 1; cnt++; setnext( masu, N, nexti, nextj ); } } nexti = i-2; nextj = j+1; if( nexti < N && nexti >=0 && nextj < N && nextj >=0 ) { if( masu[nexti][nextj] == 0 ) { masu[nexti][nextj] = 1; cnt++; setnext( masu, N, nexti, nextj ); } } return 0; }