第八届哈理工 程序设计竞赛同步赛(高年级)F题 小乐乐下象棋

题目链接:https://ac.nowcoder.com/acm/contest/301/F
刚开始看到题目的时候,没有怎么想就写了一发dfs暴力。。然后tle了,之后同学和我说这题看数据可以开三维,dp来做,后来想了想,确实可以。
AC代码:


import java.util.Scanner;
/*
 * 直接dfs会超时,所以转换成三维dp
 */
public class Main {
	static int n,m,k;	
	static int res[][]={{2,1},{2,-1},{1,2},{1,-2},{-2,1},{-2,-1},{-1,2},{-1,-2}};
	static boolean isin(int x,int y){
		return x>=0&&x=0&&y0){
								dp[i+1][tj][tz]=(dp[i+1][tj][tz]+dp[i][j][z])%mod;
							}
						}
					}
				}
			}
			
			System.out.println(dp[k][n-1][m-1]);
		}
		sc.close();
	}
}

你可能感兴趣的:(牛客)