BZOJ 1612 [Usaco2008 Jan]Cow Contest奶牛的比赛:floyd传递闭包
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1612
题意:
有n头牛比赛。
告诉你m组(a,b),表示牛a成绩比牛b高。
保证排名没有并列。
问你有多少只牛的排名已经确定。
题解:
对于一头牛,它的排名确定的条件是:它前面的牛数量 + 它后面的牛数量 = n-1
所以对于(a,b),连一条有向边a->b。
然后做floyd传递闭包。
枚举每一头牛,统计与它连通的牛的个数sum。
如果sum = n-1,则ans++。
AC Code:
#include <iostream>
#include <stdio.h>
#include <string.h>
#define MAX_N 105 using namespace std; int n,m;
int ans=;
bool dis[MAX_N][MAX_N]; int main()
{
cin>>n>>m;
memset(dis,false,sizeof(dis));
int a,b;
for(int i=;i<m;i++)
{
cin>>a>>b;
dis[a][b]=true;
}
for(int k=;k<=n;k++)
{
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
if(i!=j && j!=k && i!=k)
{
dis[i][j]|=(dis[i][k]&dis[k][j]);
}
}
}
}
for(int i=;i<=n;i++)
{
int sum=;
for(int j=;j<=n;j++)
{
sum+=(dis[i][j]|dis[j][i]);
}
if(sum==n-) ans++;
}
cout<<ans<<endl;
}
BZOJ 1612 [Usaco2008 Jan]Cow Contest奶牛的比赛:floyd传递闭包的更多相关文章
- BZOJ 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛( floyd )
对于第 i 头牛 , 假如排名比它高和低的数位 n - 1 , 那么他的 rank 便可以确定 . floyd -------------------------------------------- ...
- Bzoj 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 传递闭包,bitset
1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 891 Solved: 590 ...
- BZOJ 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
Description FJ的N(1 <= N <= 100)头奶牛们最近参加了场程序设计竞赛:).在赛场上,奶牛们按1..N依次编号.每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平 ...
- bzoj 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛【Floyd】
floyd传递关系,一个牛能确定排名的条件是能和所有牛确定关系 #include<iostream> #include<cstdio> using namespace std; ...
- 【BZOJ】1612: [Usaco2008 Jan]Cow Contest奶牛的比赛(floyd/dfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1612 赢+输==n-1 则一定确定 dfs和floyd都行(dfs我不确定,因为我没提交,权限还没开 ...
- BZOJ——T 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
http://www.lydsy.com/JudgeOnline/problem.php?id=1612 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1 ...
- BZOJ1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 645 Solved: 433 ...
- [bzoj1612][Usaco2008 Jan]Cow Contest奶牛的比赛_dfs
Cow Contest奶牛的比赛 bzoj-1612 Usaco-2008 Jan 题目大意:题目链接. 注释:略. 想法: 我们对于每个点dfs,看一下比这个点大的点加上比这个点小的点是否是n-1即 ...
- [Usaco2008 Jan]Cow Contest奶牛的比赛[神奇的FLOYD]
Description FJ的N(1 <= N <= 100)头奶牛们最近参加了场程序设计竞赛:).在赛场上,奶牛们按1..N依次编号.每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平 ...
随机推荐
- android:scrollbar的一些属性
1. activity_maim.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android ...
- Java多线程下载文件
package com.test.download; import java.io.File; import java.io.InputStream; import java.io.RandomA ...
- Struts2学习二----------访问Servlet API
© 版权声明:本文为博主原创文章,转载请注明出处 Struts2提供了三种方式去访问Servlet API -ActionContext -实现*Aware接口 -ServletActionConte ...
- Oracle:复合触发器
----- CF_DEPTUCORGANIZATION INSERT UPDATE DELETE 触发器CREATE OR REPLACE TRIGGER tr_del_CF_DEPTUCORGA ...
- 2009-04-19 22:40 SQL SERVER游标的讲解
游标和游标的优点 在数据库中,游标是一个十分重要的概念.游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结 果集中每次提取一条记录的机制.游标总 ...
- EF获取DbContext中已注册的所有实体类型
/// <summary> /// 获取DbContext中已注册的实体类型 /// </summary> /// <typeparam name="T&quo ...
- CentOS系统环境下安装MongoDB
(1)进入MongoDB下载中心:http://www.mongodb.org/downloads We recommend using these binary distributions (官方推 ...
- ios math.h 常用数学函数
1. 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 .反三角函数 double as ...
- 【BZOJ4173】数学 欧拉函数神题
[BZOJ4173]数学 Description Input 输入文件的第一行输入两个正整数 . Output 如题 Sample Input 5 6 Sample Output 240 HINT N ...
- windowsphone8.1学习笔记之应用数据(一)
数据存储分为两种:云存储和应用数据(即本地存储),wp中的应用数据分为两种,一种是应用设置:一种是应用文件.wp的数据相关都是通过ApplicationData来实现,一个程序只有数据存储区. 先说应 ...