nyoj 211 Cow Contest
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=211
思路:我的思路是对每一个点,向上广搜,向下广搜,看总共能不能搜到n-1个结点,能,表明该节点的等级确定。
题目标程给的方法是floyd+统计,似乎简单的多,我弄复杂了,还是贴个代码吧!
代码如下:
#include "stdio.h"
#include "string.h"
#include "queue"
using namespace std;
#define N 105
#define M 4505
#define INF 0x3fffffff struct node
{
int x,y;
int next;
}edge[2*M];
int idx,head[N];
void Init(){ idx=0; memset(head,-1,sizeof(head)); }
void Add(int x,int y)
{
edge[idx].x=x;
edge[idx].y=y;
edge[idx].next = head[x];
head[x] = idx++;
} bool mark[N]; void BFS(int k)
{
int i;
int x,y;
queue<int> q;
q.push(k);
mark[k] = true;
while(!q.empty())
{
x = q.front();
q.pop();
for(i=head[x]; i!=-1; i=edge[i].next)
{
y = edge[i].y;
if(!mark[y])
q.push(y);
mark[y] = true;
}
}
mark[k] = false;
} struct point
{
int x,y;
}p[2*M]; int num[N],num1[N],num2[N]; int main()
{
int n,m;
int i,j;
while(scanf("%d %d",&n,&m),n||m)
{
Init(); //建邻接表初始化
for(i=0; i<m; ++i)
{
scanf("%d %d",&p[i].x,&p[i].y);
Add(p[i].x,p[i].y);
}
for(i=1; i<=n; ++i) //对每个点,往下搜,统计能搜多少个点
{
num1[i]=0;
memset(mark,false,sizeof(mark));
BFS(i);
for(j=1; j<=n; ++j) //统计
{
if(mark[j])
num1[i]++;
}
}
Init();//建邻接表初始化
for(i=0; i<m; ++i)
Add(p[i].y,p[i].x); //再次建邻接表,反向的
for(i=1; i<=n; ++i) //对每个点,往上搜,统计能搜多少个点
{
num2[i]=0;
memset(mark,false,sizeof(mark));
BFS(i);
for(j=1; j<=n; ++j)
{
if(mark[j])
num2[i]++;
}
}
int ans = 0;
for(i=1; i<=n; ++i)
{
num[i] = num1[i]+num2[i];
if(num[i]==n-1)
ans++;
}
printf("%d\n",ans);
}
return 0;
}
nyoj 211 Cow Contest的更多相关文章
- nyoj 211——Cow Contest——————【floyd传递闭包】
Cow Contest 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 N (1 ≤ N ≤ 100) cows, conveniently numbered 1.. ...
- NYOJ 211 Cow Contest (弗洛伊德+传递闭包 )
title: Cow Contest 弗洛伊德+传递闭包 nyoj211 tags: [弗洛伊德,传递闭包] 题目链接 描述 N (1 ≤ N ≤ 100) cows, conveniently nu ...
- ACM: POJ 3660 Cow Contest - Floyd算法
链接 Cow Contest Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Descri ...
- POJ 3660 Cow Contest
题目链接:http://poj.org/problem?id=3660 Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Subm ...
- POJ 3660 Cow Contest (闭包传递)
Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7690 Accepted: 4288 Descr ...
- POJ 3660 Cow Contest (floyd求联通关系)
Cow Contest 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/H Description N (1 ≤ N ≤ 100) ...
- POJ 3660 Cow Contest(传递闭包floyed算法)
Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5989 Accepted: 3234 Descr ...
- POJ3660——Cow Contest(Floyd+传递闭包)
Cow Contest DescriptionN (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a prog ...
- BZOJ1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 645 Solved: 433 ...
随机推荐
- windows下redis启动报Creating Server TCP listening socket *:6379: bind: No such file or directory
解决方法: 按顺序输入如下命令就可以连接成功 # redis-cli.exe# > shutdown# > exit# redis-server.exe redis.windows.con ...
- MAC下 JDK环境配置、版本切换以及ADB环境配置
网上方法,自己总结:亲测可行! 一.JDK环境配置.版本切换: 通过命令’jdk6′, ‘jdk7′,’jdk8’轻松切换到对应的Java版本: 1.首先安装所有的JDk:* Mac自带了的JDK6, ...
- java.util.TimeZone 新加方法 getTimeZone(ZoneId zoneId) 导致的问题
最近接受的项目中用spring配置了一个TimeZone对象: <bean id ="timeZone4Job" class="java.util.TimeZone ...
- [Tool] 使用Sublime Text开发Objective-C
[Tool] 使用Sublime Text开发Objective-C 前言 随着iPhone的热卖,开发iPhone APP所使用的Objective-C,也慢慢成为了热门的程序语言之一.本篇文章介绍 ...
- express新旧语法对比
备个份, 原文: http://stackoverflow.com/questions/25550819/error-most-middleware-like-bodyparser-is-no-lon ...
- js实现点击<li>标签弹出其索引值
据说这是一道笔试题,以下是代码,没什么要文字叙述的,就是点击哪个<li>弹出哪个<li>的索引值即可: <html> <head> <style& ...
- Math对象常用方法汇总
前几天翻阅<JavaScript权威指南>,看到了Math对象,于是汇总了一下. Math对象不同于其他的对象,它可以说是一个公共数学类,里面有很多数学方法,用于各种数学运算,但是Math ...
- SAP RFC通信模式
在网络技术中,数据通信可以大致划分为两种基本模式:同步通信和异步通信. 其本义是:异步通信时,通信双方时钟允许存在一定误差:同步通信时,双方时钟的允许误差较小.在SAP的系统间的通信过程中,也借用术语 ...
- ubuntu解决libstdc++.so.6: cannot open shared object file: No such file or directory:问题
解决libstdc++.so.6: cannot open shared object file: No such file or directory:原因在于,在13.10 版本中,ia32_lib ...
- 浅谈RSA加密算法
一.什么是非对称加密 1.加密的密钥与加密的密钥不相同,这样的加密算法称之为非对称加密 2.密钥分为:公钥,私钥 公钥:可以对外给任何人的加密和解密的密码,是公开的 私钥:通过私钥可以生成公钥,但从 ...