Aeroplane chessTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2327Accepted S...
分类:
其他好文 时间:
2015-07-26 17:00:45
阅读次数:
91
题意:在h×w的棋盘中从左上角走到右下角,只能向右或向下走,有n个点不可以经过,一共有多少种方案。解法:dp。先对点按横坐标排序(横坐标相等按纵坐标,也可以反过来)dp[i]表示不经过其他非法点走到第i个非法点的路径数,则有dp方程:dp[i] =c(point[i].x + point[i].y ...
分类:
其他好文 时间:
2015-07-24 17:26:56
阅读次数:
103
这场CF又掉分了。。。 这题题意大概就给一个h*w的棋盘,中间有一些黑格子不能走,问只能向右或者向下走的情况下,从左上到右下有多少种方案。 开个sum数组,sum[i]表示走到第i个黑点但是不经过其他黑点的方案数。 式子是sum[i]=c(x[i]+y[i],x[i])-Σ(sum[j]*c...
分类:
其他好文 时间:
2015-07-23 06:37:06
阅读次数:
107
之前的文章请看:中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制
现在实现走棋的功能。
首先需要获取点击到的棋子,用QWidget中的函数
mouseReleaseEvent
实现函数:
void Board::mouseReleaseEvent(QMouseEvent *ev)
{
// 首先要获取鼠标点击的位置
QPoint pt = ev->pos();...
分类:
其他好文 时间:
2015-07-22 18:59:56
阅读次数:
136
//从0到n有n+1个格子
//对于格子i,掷一次骰子的数为x,那么可以从位置i到位置i+x
//格子之间有连线,如果格子a和b有连线,那么从a到b不用掷骰子
//求从0到n的骰子掷的次数的期望
//dp[i] = 1/6*segma(dp[k]) + 1 (i
#include
#include
#include
using namespace std ;
const int ...
分类:
其他好文 时间:
2015-07-20 19:27:20
阅读次数:
104
题意:给出n*n的棋盘,白方在(1,1),黑方在(1,n)处,每一步可以上下左右对角线走,哪个先抓到另一个,则它获胜可以画一下,发现n是奇数的时候,白方先走,无论它怎么走,黑方和它走对称的,黑方都一定能赢n是偶数的时候,将白方走到(1,2)就变成奇数的情况,白方必胜 1 #include 2 #.....
分类:
其他好文 时间:
2015-06-29 14:42:36
阅读次数:
107
题目链接:http://acm.acmcoder.com/showproblem.php?pid=4405
题意:棋子,从0到n,置骰子,置到几就往前走几步,前进中会有捷径,比如2和5连到一起了,那你走到2时可以直接跳到5,如果5和8连到一起了,那你还可以继续跳到8,最后问跳到n时平均置几次骰子。也就是求期望。
解法:普通概率DP,dp[n] == 0 ;向前递推。
代码:#include <...
分类:
其他好文 时间:
2015-06-09 11:48:52
阅读次数:
159
Given an m x n chessboard where you want to place chess knights. You have to find the number of maximum knights that can be placed in the chessboard such that no two knights attack each other.Those who...
分类:
其他好文 时间:
2015-06-08 17:32:11
阅读次数:
118
ChessBoard.h 1 #ifndef __CHESS_BOARD_H__ 2 #define __CHESS_BOARD_H__ 3 4 #include "DataStruct.h" 5 6 #define COL_WIDTH 45 7 #define ROW_WIDTH 45 8 ...
分类:
编程语言 时间:
2015-06-07 21:22:15
阅读次数:
302