hdu 1524 A Chess Game SG函数(有向无环图-拓扑图)博弈 (二维) + dfs(模板)
来源:互联网 发布:宋朝生活知乎 编辑:程序博客网 时间:2024/06/06 03:44
题目来源:
http://acm.hdu.edu.cn/showproblem.php?pid=1524
分析:
1:每个节点,都限制了步长。故我们设置二维向量, vector<int> v[Max_N]
2: 每个节点可走的步长 已知。 同一般的 SG函数。
代码如下:
const int Max_N = 1005;int sg[Max_N];vector<int>v[Max_N];//注意 f数组要按从小到大排序//SG函数要初始化为-1 对于每个集合只需初始化1遍//n是集合f的大小 f[i]是定义的特殊取法规则的数组int SG_dfs(int x) // x表示节点x{ int i; if(sg[x]!=-1) return sg[x]; if(v[x].size() == 0) return 0; int vis[Max_N]; memset(vis,0,sizeof(vis)); for(i=0;i<v[x].size();i++) { sg[v[x][i] ]=SG_dfs(v[x][i]); vis[sg[v[x][i]]]=1; } for(i=0;;i++) if(vis[i] ==0 ) return i;}int main(){ int n,m,num,tmp; while(scanf("%d",&n) != EOF){ memset(sg,-1,sizeof(sg)); // 每次初始化一次即可 for(int i=0; i<n; i++){ v[i].clear(); scanf("%d",&num); for(int j=0; j<num; j++){ scanf("%d",&tmp); v[i].push_back(tmp); } } int u,res; while(scanf("%d",&m) && m){ res = 0 ; while(m--){ scanf("%d",&u); if(sg[u] == -1) sg[u] = SG_dfs(u); res^=sg[u]; } if(res == 0) puts("LOSE"); else puts("WIN"); } } return 0;}
0 0
- hdu 1524 A Chess Game SG函数(有向无环图-拓扑图)博弈 (二维) + dfs(模板)
- HDU 1524 A Chess Game (有向无环图SG博弈)
- POJ 2425 A Chess Game(SG函数的有向图博弈游戏)
- HDU ACM 1524 A Chess Game->博弈(SG函数)
- HDU 1524 A Chess Game [SG函数]【博弈】
- HDU 1524 A Chess Game(SG博弈)
- HDU 1524 A Chess Game (SG函数模板题)
- 【POJ2425】A Chess Game 博弈,SG函数,裸题,模板题
- HDU 1524 A Chess Game 【SG函数】
- HDU 1524 A Chess Game(SG函数)
- HDU 1524 - A Chess Game(SG)
- [POJ2425]A Chess Game(博弈SG函数)
- hdu 1524 A Chess Game 博弈之,SG函数简单题
- hdu1524 A Chess Game 有向无环图---sg
- HDOJ 题目1524A Chess Game(sg博弈)
- POJ 2425 A Chess Game 博弈+有向无环图
- HDU 5724 Chess(博弈,SG函数)
- hdu 1524 A Chess Game (SG)
- zoj Cryptography 2671 矩阵相乘 + Mod求余 + 线段树查询
- poj Area 1265 求面积+ 多边形边上的点的个数+ 多边形内点个数
- poj 3080 get_next + kmp + 字符数组做函数参数 + 数组下标从1 开始
- 转 博弈类题目小结(hdu,poj,zoj)
- HDOJ1079&POJ1082&ZOJ1024 Calendar Game [找规律博弈]
- hdu 1524 A Chess Game SG函数(有向无环图-拓扑图)博弈 (二维) + dfs(模板)
- 向量旋转专题
- 高斯消元 zoj 3645 poj 1222/XOR消元
- 半平面交 模板 poj 3335 poj 3130 poj 1474 判断半平面交是否为空集
- poj 1279 求半平面交的 面积(推荐)
- 等待事件
- poj 3525 Most Distant Point from the Sea 半平面交 + 二分
- hive使用mysql做元数据库,以及一些问题处理
- poj 3384 Feng Shui 半平面交的应用 求最多覆盖凸多边形的面积的两个圆 的圆心坐标