摘要: 开始看到这道题知道要用dp,但这个六边形的确很恶心,每次坐标的偏移量无法用二维数组完整表现出来,后经过看多方题解,明白了可以取八个方向中的六个,解决了构图的问题,至于状态转移是很明显的。dp[s][i][j]表示经过s步到达坐标为[i][j]的位置的路径数: 则dp[s][i][j] = dp[s-1][i-1][j-1]+dp[s-1][i][j-1]+dp[s-1][i+1][j]+dp[s-1][i+1][j+1]+dp[s-1][i][j+1]+d[s-1][i-1][j];然后进行扫描就可得到dp[n][sta_r][sta_c]就是为每次要求的答案(sta_r,sta_c为假设的. 阅读全文
posted @ 2011-03-29 17:57 c++fans 阅读(454) 评论(0) 推荐(1) 编辑