题目链接:Brexit

vector的使用(vector存边),巧用queue,相当于Bfs

 /* */
# include <iostream>
# include <cstdio>
# include <cstring>
# include <string>
# include <memory>
# include <cstdlib>
# include <cmath>
# include <climits>
# include <cctype>
# include <cassert>
# include <utility>
# include <deque>
# include <queue>
# include <stack>
# include <vector>
# include <bitset>
# include <set>
# include <map>
# include <functional>
# include <algorithm>
using namespace std;
 
# define lson l,m,rt<<
# define rson m+,r,rt<<|
# define lowbit(x)(x&(-x))
# define lcm(a,b)(a*b/__gcd(a,b))
typedef long long ll;
const ll mod=1e9+;
const int maxn=2e5+;
const double eps=1e-;
const double pi=acos(-1.0);
int n, m, c, l;
int de[maxn];
vector<int>nex[maxn];
queue<int>qu;
int flag[maxn];
 
int main()
{
int t;
while( ~ scanf("%d%d%d%d", &n, &m, &c, &l) )
{
for(int i=; i<=n; i++ )
{
nex[i].clear();
de[i]=;
flag[i]=;
}
 
while( !qu.empty() )
qu.pop();
for(int i=; i<=m; i++ )
{
int u, v;
scanf("%d%d", &u, &v);
nex[u].push_back(v);
nex[v].push_back(u);
de[u]++;
de[v]++;
}
 
flag[l]=;
qu.push(l);
while( !qu.empty() )
{
int cur=qu.front();
qu.pop();
for(int i=; i<nex[cur].size(); i++ )
{
de[nex[cur][i]]--;
if( de[nex[cur][i]]<=nex[nex[cur][i]].size()/ && flag[nex[cur][i]]== )
{
flag[nex[cur][i]] = ;//避免重复入栈
qu.push(nex[cur][i]);
}
}
}
if( flag[c]== )
cout<<"leave"<<endl;
else
cout<<"stay"<<endl;
}
return ;
}

最新文章

  1. [WCF编程]13.并发:服务并发模式
  2. Javac 手动编译时,出现乱码或编码格式问题
  3. String类StringBuffer类与StringBuilder类gc垃圾回收
  4. 在.net桌面程序中自定义鼠标光标
  5. 简单的session共享的封装
  6. Python 元组知识点
  7. NSPredicate 根据谓语动词 进行 模糊查询
  8. JMS - ExceptionListener
  9. CI分支kohana在线文档
  10. SVN Access to &#39;/svn/Test/!svn/me&#39; forbidden,不能更新解决办法
  11. Django的ORM实现数据库事务操作
  12. android Handler机制之ThreadLocal详解
  13. MongoDB 3.0新增特性一览
  14. 15个HTML元素方法!
  15. 微信小程序如何引入外部字体库iconfont的图标
  16. Python RabbitMQ RPC实现
  17. jenkins 常见问题汇总
  18. js字符串三个编码的区别
  19. shell 多重条件判断
  20. 【BZOJ2120】数颜色

热门文章

  1. Java Annontation 注解的学习和理解
  2. XML和Json的特点
  3. C#录制声卡声音喇叭声音音箱声音
  4. 阿里云ESC服务器配置记录
  5. docker安装mysql笔记
  6. PDF 补丁丁 0.6.2.3572 测试版发布
  7. BUUCTF复现记录1
  8. node基础学习——path的处理与路径转换
  9. scrapy框架爬取智联招聘网站上深圳地区python岗位信息。
  10. The Tower(HDU6559+2018年吉林站+数学)