http://acm.hdu.edu.cn/showproblem.php?pid=4405 题意:每次可以走1~6格,初始化在第0格,走到>=n的格子就结束.还有m个传送门,表示可以从X[i]格传送到Y[i]而不需要消耗次数,X[i]<Y[i].n<=100000, m<=1000. #include <cstdio> #include <cstring> using namespace std; double d[100010]; int n, m, m…
http://acm.hdu.edu.cn/showproblem.php?pid=2147 题意:n×m的棋盘,每次可以向左走.向下走.向左下走,初始在(1, m),n,m<=2000,问先手是否胜利. #include <cstdio> using namespace std; int main() { int n, m; while(scanf("%d%d", &n, &m), n|m) (n&1)&&(m&1)?…
http://acm.hdu.edu.cn/showproblem.php?pid=1536 题意:同nim...多堆多询问...单堆n<=10000,每次取的是给定集合的数= = #include <cstdio> #include <cstring> using namespace std; bool b[105]; int s[105], f[10005]; int main() { int k, m, n; while(scanf("%d", &a…
http://acm.hdu.edu.cn/showproblem.php?pid=1846 题意:二人博弈,1堆石子每次取1~m个,没有石子可取的输,输出先手胜利还是后手胜利. #include <cstdio> using namespace std; int main() { int c; scanf("%d", &c); while(c--) { int n, m; scanf("%d%d", &n, &m); print…