题目链接:http://poj.org/problem?id=3275

思路:对于n个节点,共有n*(n-1)/2对关系,对于给出的m对已经确定的关系,我们可以用传递闭包推出目前已经确定的关系对数ans,于是答案就是n*(n-1)/2-ans.

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<vector>
 6 using namespace std;
 7 #define MAXN 1010
 8
 9 vector<vector<int> >G_from;
10 vector<vector<int> >G_to;
11 bool map[MAXN][MAXN];
12
13 int main()
14 {
15     int n,m,u,v,ans;
16     while(~scanf("%d%d",&n,&m)){
17         G_from.clear();G_from.resize(n+2);
18         G_to.clear();G_to.resize(n+2);
19         memset(map,false,sizeof(map));
20         while(m--){
21             scanf("%d%d",&u,&v);
22             map[u][v]=true;
23             G_from[v].push_back(u);
24             G_to[u].push_back(v);
25         }
26         ans=0;
27         for(int k=1;k<=n;k++){
28             for(int i=0;i<G_from[k].size();i++){
29                 for(int j=0;j<G_to[k].size();j++){
30                     u=G_from[k][i],v=G_to[k][j];
31                     if(!map[u][v]){
32                         map[u][v]=true;
33                         G_from[v].push_back(u);
34                         G_to[u].push_back(v);
35                     }
36                 }
37             }
38         }
39         for(int i=1;i<=n;i++){
40             for(int j=1;j<=n;j++)if(i!=j){
41                 if(map[i][j])ans++;
42             }
43         }
44         printf("%d\n",n*(n-1)/2-ans);
45     }
46     return 0;
47 }

View Code

poj 3275(传递闭包)相关推荐

  1. POJ 3275 Ranking the Cows (floyd传递闭包)

    Ranking the Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 2248   Accepted: 1045 ...

  2. poj 3275 Ranking the Cows 搜索

    题意:给你n个数和m个大小关系,问给出了这些大小关系之后还有多少对数的大小关系不知道. 分析:根据给出的大小关系建有向边,每次对每个点延有向边搜索到底,确定该边的所有连边关系,最后统计没有关系的边对数 ...

  3. poj 3660 传递闭包 **

    题意:题目给出了m对的相对关系,求有多少个排名是确定的. 链接:点我 如果这个点到其他点的关系是确定的,那么这个点就是确定的,注意如果这个点到不了其他点,但其他点能到这个点,那么这个点和其他点的关系是 ...

  4. POJ 图论---1_Uriel's Corner Uriel's Coding Learning Cubing Zone

    原文地址: http://www.cppblog.com/Uriel/articles/121814.html 内容: 刚开始学图论不久,这个是自己做过的一点图论水题,不一定全,有什么错误或者大家有其 ...

  5. H - Cow Contest POJ - 3660(Floyd 传递闭包)

    H - Cow Contest POJ - 3660 题意: 有 n 头牛比赛,边 1 -> 2 代表 1 能赢 2 ,给你 m 条边,问能确定出多少头牛的名次? 思路: 如果 1->2 ...

  6. poj 3660 Cow Contest 传递闭包

    题目链接: http://poj.org/problem?id=3660 题目大意: 有n头牛,每头牛都有一个战斗值,农夫约翰想给这些牛排名次,但是只有m场比赛,约翰想知道有多少头牛的名次是确定的. ...

  7. 【POJ No. 3275】奶牛排序 Ranking the Cows

    [POJ No. 3275]奶牛排序 Ranking the Cows 官方题目地址 [题意] 约翰想按照奶牛的产奶能力给它们排序. 已知有N (1≤N ≤1 000)头奶牛,而且知道这些奶牛的M ( ...

  8. POJ 3660 Cow ContestCow(Floyd传递闭包)题解

    题意:给出m个关系,问你能确定机头牛的排名 思路:要确定排名那必须要把他和其他n-1头牛比过才行,所以Floyd传递闭包,如果赢的+输的有n-1就能确定排名. 代码: #include<cstd ...

  9. poj 3660(Floyd求传递闭包)

    Cow Contest Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9317   Accepted: 5249 Descr ...

最新文章

  1. oracle非归档模式下如何备份,Oracle之RMAN数据库在非归档模式下的备份和恢复
  2. SQL关联查询————LEFT JOIN关键字的使用
  3. 【搞事】HTTP文件传输服务器搭建|网站文件分享|HFSxCHFS用法
  4. Python 实现单例模式的一些思考
  5. windows10下搭建spark平台
  6. 最简单的Dubbo教程(springBoot纯注解版)
  7. Json转换为txt
  8. distpicker使用记录
  9. 三星30pin引脚_USB3.0针脚定义、引脚定义(精校版本)
  10. 【R语言】敏感度、特异度、准确率检验及置信区间求解
  11. 深度学习的发展历史是什么?
  12. LaTeX的正负号写法
  13. c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,Python批量修改文件名...
  14. 美国商务签证面试经历
  15. Linux 读书笔记 二
  16. c++实现二分查找法和求平方根
  17. 从tcp原理角度理解Broken pipe和Connection reset by peer的区别
  18. CleanMyMac X软件到底值不值得安装下载?
  19. 聊聊Unity的几种灯光还有灯光烘培
  20. 小白的靶机VulnHub-Node

热门文章

  1. 推荐一个提供干货的java公众号
  2. 5.Spring Security 短信验证码登录
  3. 包package,权限修饰符
  4. php 如何得到 file_get_contents 数据,如何使用file_get_contents在PHP中发布数据?
  5. 苹果服务器消息转发,iphone-与APNS服务器进行交互以将推送通知发...
  6. 电大计算机考试打开画图程序,最新国家开放大学电大《计算机绘图》形考任务网考试题及答案.pdf...
  7. python爬虫设置下拉框的值_python爬虫:BeautifulSoup 使用select方法的使用
  8. idea中如何reimport_IDEA中导入新项目遇坑
  9. java下列语句正确的是_下列Java语句中,不正确的一项是( )。
  10. 魅族手机使用应用沙盒一键修改位置数据