2833 奇怪的梦境 未AC
2833 奇怪的梦境
Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很多按钮,还有一个屏幕,上面显示了一些信息。屏幕上说,要将所有按钮都按下才能出去,而又给出了一些信息,说明了某个按钮只能在另一个按钮按下之后才能按下,而没有被提及的按钮则可以在任何时候按下。可是Aiden发现屏幕上所给信息似乎有矛盾,请你来帮忙判断。
第一行,两个数N,M,表示有编号为1...N这N个按钮,屏幕上有M条信息。
接下来的M行,每行两个数ai,bi,表示bi按钮要在ai之后按下。所给信息可能有重复,保证ai≠bi。
若按钮能全部按下,则输出“o(∩_∩)o”。
若不能,第一行输出“T_T”,第二行输出因信息有矛盾而无法确认按下顺序的按钮的个数。输出不包括引号。
3 3
1 2
2 3
3 2
T_T
2
对于30%的数据,保证0<N≤100。
对于50%的数据,保证0<N≤2000。
对于70%的数据,保证0<N≤5000。
对于100%的数据,保证0<N≤10000,0<M≤2.5N。
分类标签 Tags 点此展开
#include<iostream>
#include<cstdio>
#include<cstring>
#include<stack>
using namespace std;
struct node
{
int u;
int v;
int w;
int next;
}edge[];
int head[];
int num=;
int rudu[];
stack<int>s;
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)head[i]=-;
for(int i=;i<=m;i++)
{
scanf("%d%d",&edge[num].u,&edge[num].v);
edge[num].next=head[edge[num].u];
rudu[edge[num].v]++;
head[edge[num].u]=num++;
}
for(int i=;i<=n;i++)
{
if(rudu[i]==)
s.push(i);
}
int tot=;
while(s.size()!=)
{
int p=s.top();
s.pop();
for(int i=head[p];i!=-;i=edge[i].next)
{
rudu[edge[i].v]--;
if(rudu[edge[i].v]==)
{
s.push(edge[i].v);
tot++;
}
}
}
if(tot==n-)printf("o(∩_∩)o");
else
{
printf("T_T\n");
for(int i=;i<=n;i++)
{
if(rudu[i]!=)
{
printf("%d",i);
return ;
}
}
//printf("%d",tot);
}
return ;
}
2833 奇怪的梦境 未AC的更多相关文章
- 【CODEVS】2833 奇怪的梦境
2833 奇怪的梦境 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很 ...
- CODEVS——T 2833 奇怪的梦境
http://codevs.cn/problem/2833/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Descr ...
- Codevs 2833 奇怪的梦境
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很多按钮,还 ...
- 【拓扑排序】CODEVS 2833 奇怪的梦境
拓扑排序模板. #include<cstdio> #include<vector> #include<stack> using namespace std; #de ...
- codevs2833 奇怪的梦境
2833 奇怪的梦境 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description Aiden陷入了一个奇怪的梦境:他被困 ...
- codevs2833 奇怪的梦境 x
2833 奇怪的梦境 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中 ...
- 奇怪的梦境(codevs 2833)
题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很多按钮,还有一个屏幕,上面显示了一些信息.屏幕上说,要将所有按钮都按下才能出去,而又给出了一些信息,说明 ...
- 九度OJ 1016 火星A + B 未AC版,整型存储不下
#include <iostream> #include <string.h> #include <sstream> #include <math.h> ...
- Poj 1755Triathlon 未Ac,先mark
地址:http://poj.org/problem?id=1755 题目: Triathlon Time Limit: 1000MS Memory Limit: 10000K Total Subm ...
随机推荐
- 使用DOS指修改文件名
需求:将文件名中的特殊字符#和~去掉 文件夹路径如下: 开始->运行->在对话框中输入字母“cmd”,进入dos模式 输入命令行“cd c:\test”然后回车,再输入命令行“dir /b ...
- React中state和props的区别
props和state都是用于描述component状态的,并且这个状态应该是与显示相关的. State 如果component的某些状态需要被改变,并且会影响到component的render,那么 ...
- javaScript笔记01
所谓勇气就是明知前方的路途充满了荆棘险阻,但还是义无反顾的的走下去. 1 Javasrcipt定义的三种方式 ·1 head中的script脚本 <!DOCTYPE html> <h ...
- Wannafly 锁
题意: 现在有 $n$ 个人,每个人有一个已然给定的重要度 $a_i$,现有 K 个锁,每个锁有若干钥匙,分配给一些人,要求一群人能够打开全部 $K$ 把锁, 当且仅当他们重要度的和大于等于 $m$, ...
- C++中队列的建立和操作
什么是队列结构 队列结构是从数据运算来分类的,也就是说队列结构具有特殊的运算规则.而从数据的逻辑结构来看,队列结构其实就是一种线性结构.如果从数据的存储结构来进一步划分,队列结构可以分成两类. 顺序队 ...
- AngularJs(Part 7)--Build-in Directives
Directives In AngularJS, we can use a variety of naming conventions to reference directives . In the ...
- Python + winpcap抓包和发包
winpcapy Python的winpcapy库可以简单地实现收发Layer2层(数据链路层,以太网)数据. winpcapy主页:https://github.com/orweis/winpcap ...
- c++中的const关键字的理解
看effective c++第二版推荐使用const,少用define.今天才发现发现这远远不够. #define定义的常量在预处理替换,debug的时候无法打印宏的,这种常量设置是有缺陷的, con ...
- lsnrctl start错误Linux Error: 29: Illegal seek (翻译:非法谋取)
现在,想不起来为什么ORACLE的监听,怎么就突然无法起来了呢. 好吧,问题反正就是发生了. lsnrctl start 遇到如下错误, LSNRCTL for Linux: Version 10.2 ...
- jQuery插件AjaxFileUpload可以实现ajax文件上传
http://blog.sina.com.cn/s/blog_55e42da60100ocvh.html