【动态规划】Codeforces Round #406 (Div. 2) C.Berzerk
2017-06-02 20:56
393 查看
有向图博弈问题。
能转移到一个必败态的就是必胜态。
能转移到的全是必胜态的就是必败态。
转移的时候可以用队列维护。
可以看这个 http://www.cnblogs.com/quintessence/p/6618640.html
能转移到一个必败态的就是必胜态。
能转移到的全是必胜态的就是必败态。
转移的时候可以用队列维护。
可以看这个 http://www.cnblogs.com/quintessence/p/6618640.html
#include<cstdio> #include<queue> using namespace std; struct Node{ int who,pos; }; queue<Node>q; int n,len[2],to[2][7010],f[2][7010],cant[2][7010]; int main(){ scanf("%d",&n); for(int i=0;i<2;++i){ scanf("%d",&len[i]); for(int j=1;j<=len[i];++j){ scanf("%d",&to[i][j]); } } f[0][0]=f[1][0]=2; q.push((Node){0,0}); q.push((Node){1,0}); while(!q.empty()){ Node U=q.front(); q.pop(); if(f[U.who][U.pos]==2){ for(int i=1;i<=len[U.who^1];++i){ if(f[U.who^1][(U.pos-to[U.who^1][i]+n)%n]==0){ f[U.who^1][(U.pos-to[U.who^1][i]+n)%n]=1; q.push((Node){U.who^1,(U.pos-to[U.who^1][i]+n)%n}); } } } else{ for(int i=1;i<=len[U.who^1];++i){ if(f[U.who^1][(U.pos-to[U.who^1][i]+n)%n]==0){ ++cant[U.who^1][(U.pos-to[U.who^1][i]+n)%n]; if(cant[U.who^1][(U.pos-to[U.who^1][i]+n)%n]==len[U.who^1]){ f[U.who^1][(U.pos-to[U.who^1][i]+n)%n]=2; q.push((Node){U.who^1,(U.pos-to[U.who^1][i]+n)%n}); } } } } } for(int i=0;i<2;++i){ for(int j=1;j<n;++j){ if(f[i][j]==0){ printf("Loop "); } else if(f[i][j]==1){ printf("Win "); } else{ printf("Lose "); } } puts(""); } return 0; }
相关文章推荐
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) E. Goods transportation 动态规划
- Codeforces Round #363 (Div. 2) C. Vacations(简单动态规划)
- Codeforces Round #178 (Div. 2) B. Shaass and Bookshelf 【动态规划】0-1背包
- Codeforces Round #406 (Div. 2):C. Berzerk(记忆化搜索解决博弈问题)
- 【动态规划】【滚动数组】【搜索】Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) D. Field expansion
- Codeforces Round #422 (Div. 2) D. My pretty girl Noora 动态规划
- 【二分】【动态规划】Codeforces Round #393 (Div. 1) B. Travel Card
- SRM 658 DIV1 650 二分答案 动态规划
- Codeforces Round #FF (Div. 1) A. DZY Loves Sequences 动态规划
- Topcoder Arena SRM 144 DIV2 1100 point 图遍历(非递归)+动态规划
- [TopCoder SRM420 Div1 500pt RedIsGood]【数学期望】【动态规划】
- Codeforces Round #186 (Div. 2) D. Ilya and Roads(区间类动态规划)
- Codeforces Round #335 (Div. 2) C. Sorting Railway Cars 动态规划
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) E. Goods transportation 动态规划
- Codeforces Round #363 (Div. 2) C. Vacations(DP 动态规划)
- Codeforces Round #382 (Div. 2)C. Tennis Championship 动态规划
- Codeforces Round #272 (Div. 2) E. Dreamoon and Strings 动态规划
- Codeforces Round #369 (Div. 2) C. Coloring Trees 动态规划
- Codeforces Round #406 (Div. 1) A. Berzerk 记忆化搜索
- Codeforces Round #198 (Div. 1) B,C 动态规划