bzoj2437-兔兔与蛋蛋】的更多相关文章

[BZOJ2437][NOI2011]兔兔与蛋蛋(博弈论,二分图匹配) 题面 BZOJ 题解 考虑一下暴力吧. 对于每个状态,无非就是要考虑它是否是必胜状态 这个直接用\(dfs\)爆搜即可. 这样子对于每一次操作,考虑兔兔操作后的状态是否是必胜状态 如果这个状态是必胜状态,并且蛋蛋操作完后的状态是(兔兔的)必败状态 那么这就是一个"犯错误"的操作. 这样暴力可以拿到\(75pts\) #include<iostream> #include<cstdio> #i…
Description Input 输入的第一行包含两个正整数 n.m. 接下来 n行描述初始棋盘.其中第i 行包含 m个字符,每个字符都是大写英文字母"X".大写英文字母"O"或点号"."之一,分别表示对应的棋盘格中有黑色棋子.有白色棋子和没有棋子.其中点号"."恰好出现一次. 接下来一行包含一个整数 k(1≤k≤1000) ,表示兔兔和蛋蛋各进行了k次操作. 接下来 2k行描述一局游戏的过程.其中第 2i – 1行是兔兔的…
Description Input 输入的第一行包含两个正整数 n.m.接下来 n行描述初始棋盘.其中第i 行包含 m个字符,每个字符都是大写英文字母"X".大写英文字母"O"或点号"."之一,分别表示对应的棋盘格中有黑色棋子.有白色棋子和没有棋子.其中点号"."恰好出现一次.接下来一行包含一个整数 k(1≤k≤1000) ,表示兔兔和蛋蛋各进行了k次操作.接下来 2k行描述一局游戏的过程.其中第 2i – 1行是兔兔的第 i…
Description Input 输入的第一行包含两个正整数 n.m. 接下来 n行描述初始棋盘.其中第i 行包含 m个字符,每个字符都是大写英文字母"X".大写英文字母"O"或点号"."之一,分别表示对应的棋盘格中有黑色棋子.有白色棋子和没有棋子.其中点号"."恰好出现一次. 接下来一行包含一个整数 k(1≤k≤1000) ,表示兔兔和蛋蛋各进行了k次操作. 接下来 2k行描述一局游戏的过程.其中第 2i – 1行是兔兔的…
http://www.lydsy.com/JudgeOnline/problem.php?id=2437 这道题真是极好的. 75分做法: 搜索. 出题人真的挺良心的,前15个数据点的范围都很小,可以直接搜索. #include<cstdio> #include<cstdlib> #include<iostream> #include<fstream> #include<algorithm> #include<cstring> #in…
未经博主同意不得转载 2437: [Noi2011]兔兔与蛋蛋 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 693  Solved: 442 Description Input 输入的第一行包含两个正整数 n.m. 接下来 n行描述初始棋盘.其中第i 行包含 m个字符,每个字符都是大写英文字母"X".大写英文字母"O"或点号"."之一,分别表示对应的棋盘格中有黑色棋子.有白色棋子和没有棋子.其中…
noi2011 兔兔与蛋蛋 题目大意 直接看原题吧 就是\(n*m\)的格子上有一些白棋和一些黑棋和唯一一个空格 兔兔先手,蛋蛋后手 兔兔要把与空格相邻的其中一个白棋移到空格里 蛋蛋要把与空格相邻的其中一个黑棋移到空格里 谁不能移动谁输 分析 这篇博客挺好的 我们可以将题意转化成兔兔将空格移到白棋那里 蛋蛋将空格移动到黑棋那里 转化成图黑白染色,变成二分图 我们设空格染成黑色 那空格移动的轨迹一定是: 黑\(~\)-白-黑-白-黑 对应的是: 空格-白棋-黑棋-白棋-黑棋 所以染成白色且为白棋\…
题目链接 BZOJ2437 题解 和JSOI2014很像 只不过这题动态删点 如果我们把空位置看做\(X\)的话,就会发现我们走的路径是一个\(OX\)交错的路径 然后将图二分染色,当前点必胜,当且仅当当前点必须作为最大匹配的匹配点 移动相当于删点,删点的话只需打个标记即可 判断当前点是不是必选,只需尝试更改当前点匹配点的匹配点即可 #include<algorithm> #include<iostream> #include<cstring> #include<…
首先将棋盘黑白染色,不妨令空格处为黑色.那么移动奇数次后空格一定处于白色格子,偶数次后空格一定处于黑色格子.所以若有某个格子的棋子颜色与棋盘颜色不同,这个棋子就是没有用的.并且空格与某棋子交换后,棋子所在的格子改变使得该棋子与棋盘颜色不同,那么该棋子也会变为无用棋子.那么问题变为空格在棋盘上黑白格子交替移动,棋盘上有障碍物,走过的格子不能再走,不能移动者输. 显然这是一个二分图博弈.如果所有的最大匹配都包含起点,先手必胜,因为每次只需要沿匹配边走即可,由增广路定理不会出现没边走的情况.否则后手必…
二分图博弈果然都是一个套路,必经点必胜,非必经点必败, 但是肯定不能每走一步就重新建图判断必胜还是必败,那么我们可以这样:每走一步就把这个点删掉,然后find他原来的匹配,如果找不到,就说明他是必经点,否则就是非必经点. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <cmath> #define N 1601 usin…