传送门

dfs+拓扑排序

#include <bits/stdc++.h>
using namespace std;
typedef long long ll ;
typedef double    dl ;
#define INF 0x7fconst int  inf = 987654321;
const int sz = 1e6 + 5;
const int mod = 1e9 + 7;
const int sqrtn = 300;#define f(i,l,r) for(int i=l;i<=r;++i)
#define g(i,l,r) for(int i=l;i>=r;--i)
#define CLR(arr,val) memset(arr,val,sizeof(arr))
#define FAST_IO ios::sync_with_stdio(false);cin.tie(0);
#define pii pair<int,int>
#define lowbit(x) x&(-x)
#define X first
#define Y second int n,m,s,t;
struct E{int v,  nxt;
}e[sz<<2];
int head[sz],tot;
void init()
{CLR(head,-1);tot=0;
}
void addedge(int u,int v)
{e[tot]=(E){v,head[u]},head[u]=tot++;
}
int type[sz],sta[sz];
bool vis[sz];
int top;
bool dfs1(int u)
{for(int i=head[u];i!=-1;i=e[i].nxt){int v = e[i].v;bool flag = false;if(type[u]==3){if(type[v]!=3) {type[v]=3;flag=true;}}else if(type[u]==1){if((type[v]&2)==0) { type[v]|=2;flag=true;}}else{if((type[v]&1)==0) { type[v]|=1;flag=true;}}if(flag){sta[top++]=v;if(dfs1(v)) return true;top--;} }if(head[u]==-1 && (type[u]&2)) return true;return false;
}
int num ,in[sz];
void dfs2(int u)
{vis[u]=1;num++;for(int i=head[u];i!=-1;i=e[i].nxt){int v= e[i].v;in[v]++;if(!vis[v])dfs2(v);}
}bool toposort()
{queue<int> q;f(i,1,n){if(vis[i] && in[i]==0) q.push(i);}int cnt =0;while(!q.empty()){int u =q.front();q.pop();cnt++;for(int i=head[u];i!=-1;i=e[i].nxt){int v= e[i].v;if((--in[v])==0)q.push(v);}}if(cnt==num) return true;return false;}void work()
{init();cin>>n>>m;f(i,1,n){cin>>s;f(j,1,s){cin>>t;addedge(i,t);} }cin>>s;sta[top++]=s;type[s]=1;if(dfs1(s)){cout<<"Win"<<endl;f(i,0,top-1)cout<<sta[i]<<" ";}else{CLR(vis,0);dfs2(s);if(!toposort()) puts("Draw");else puts("Lose"); }
}int main()
{FAST_IO ;freopen("in","r",stdin);freopen("out","w",stdout);work();return 0;
}

转载于:https://www.cnblogs.com/corx/p/8485729.html

cf 467 B. Sleepy Game相关推荐

  1. 【codeforces】【比赛题解】#937 CF Round #467 (Div. 2)

    没有参加,但是之后几天打了哦,第三场AK的CF比赛. CF大扫荡计划正在稳步进行. [A]Olympiad 题意: 给\(n\)个人颁奖,要满足: 至少有一个人拿奖. 如果得分为\(x\)的有奖,那么 ...

  2. Codeforces Round #467 (Div. 1): B. Sleepy Game(BFS+有向图判环)

    题意(经过转换):给你一个n个点m条边的有向图,再给你一个起点x,问存不存在一条路径满足①路径中有奇数条边:②终点的出度为0,如果存在输出Win,并在第二行输出这个路径(可能不唯一输出任意一种),否则 ...

  3. 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

    前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...

  4. OC对象 vs CF对象

    2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...

  5. CF 990A. Commentary Boxes【数学/模拟】

    [链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...

  6. 推荐算法——基于协同过滤CF

    https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...

  7. 索引贴——移动开发(.Net CF 停止更新)

    这是关于本人博客的技术索引贴,希望能方便的让您阅读到相关技术文章--不断更新中.一整理才发现,好多啊,哈哈- 一..Net CF技巧:搜集.转载一些和CF开发相关的辅助文章,比较适合初学者.开发入门者 ...

  8. 解答:CF截图保存在哪

    为什么80%的码农都做不了架构师?>>>    大家玩CF(穿越火线)的时候遇到精彩的画面总希望截图保存下来,然而有些游戏玩家截图后却不知道CF截图保存在哪!这不得不说是个悲剧,但是 ...

  9. CF里面的资源载入问题

    前一段时间已经发现CF在载入资源的时候会怪怪的,但是这一段时间都不曾记起要对这个问题研究一下.最近又发现这个问题了,实在是恼火.俗话说择日不如撞日(粤语),唉,就今天啦.这个问题是在VS2k5里面调试 ...

  10. [CF.Skills]播放嵌入资源的声音文件

    [CF.Skills]播放嵌入资源的声音文件 摘要:本文阐述了在Windows Mobile中如何播放潜入资源的声音文件KeywordsPlaySound, Windows Mobile, Embed ...

最新文章

  1. python3下载安装windows教程-Python3入门笔记(1) —— windows安装与运行
  2. 成功解决Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2(二)
  3. 红米android 版本,#MIUI#关于红米手机4高配版 Android版本适配的说明【miui9吧】_百度贴吧...
  4. 解读小米MoGA:超过MobileNetV3的移动端GPU敏感型搜索
  5. c语言指针自定义函数,c语言函数指针定义,指针函数和函数指针的区别
  6. sl animation sample
  7. java double add,Java中的DoubleStream.Builder add()方法
  8. 3天内构建Facebook Web应用的经验之谈
  9. I2C通信读写数据过程
  10. SQLite数据库学习小结——Frameworks层实现
  11. mysql8.0.13驱动包_MySQL ODBC驱动 V8.0.13 32/64位 官方版
  12. 网络带宽压力测试教程
  13. Python笔记 之 dict模块
  14. 随着年龄增长,我应该怎样对抗肌肉流失?
  15. 超实用的 IPTV 管理工具,xTeVe 助你定制专属电视频道。
  16. TC275——04Blinky-LED
  17. Java进阶——注解
  18. Ipopt输出的含义
  19. 三方支付公司有哪些?
  20. 某校2019专硕编程题-逆序输出奇数

热门文章

  1. 绑定挂载mount --bind介绍
  2. ndvi matlab,基于Matlab的NDVI最大合成
  3. html如何设置下画虚线框,如何用css画虚线
  4. 怎么看mmdetection版本_mmdetection使用指南
  5. 产品经理:一个商业 AIoT 智能硬件产品的完整拆解
  6. 嵌入式Linux入门-输入系统应用编程(鼠标、键盘、触摸屏)
  7. 爬虫项目实战1——爬取天善课程
  8. Android学习笔记七之ContentProvider
  9. matlab蚁群算法解决vrp过程,蚁群算法MATLAB解VRP问题
  10. magisk卸载内置软件_Win10自带软件怎么卸载 Win10自带软件卸载方法【详细教程】...