hdu 1704 (Floyd 传递闭包)
Rank
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1622 Accepted Submission(s):
625
ZJPCPC Sunny Cup
2007 is coming, and lcy want to select some excellent ACMers to attend the
contest. There have been M matches since the last few days(No two ACMers will
meet each other at two matches, means between two ACMers there will be at most
one match). lcy also asks"Who is the winner between A and B?" But sometimes you
can't answer lcy's query, for example, there are 3 people, named A, B, C.and 1
match was held between A and B, in the match A is the winner, then if lcy asks
"Who is the winner between A and B", of course you can answer "A", but if lcy
ask "Who is the winner between A and C", you can't tell him the answer.
As
lcy's assistant, you want to know how many queries at most you can't tell
lcy(ask A B, and ask B A is the same; and lcy won't ask the same question
twice).
The first
line has one integer,represent the number of test cases.
Each case first
contains two integers N and M(N , M <= 500), N is the number of ACMers in HDU
team, and M is the number of matchs have been held.The following M lines, each
line means a match and it contains two integers A and B, means A wins the match
between A and B.And we define that if A wins B, and B wins C, then A wins
C.
the max possible number of queries that you can't tell lcy.
3 3
1 2
1 3
2 3
3 2
1 2
2 3
4 2
1 2
3 4
0
4
#include<bits/stdc++.h>
using namespace std;
int e[][];
int main()
{
int t,n,m,i,j,k;
cin>>t;
while(t--){int s=,a,b;
cin>>n>>m;memset(e,,sizeof(e));
for(i=;i<=m;++i){
cin>>a>>b;
e[a][b]=;
e[b][a]=-;
}
for(k=;k<=n;++k)
for(i=;i<=n;++i)
if(e[i][k]==){
for(j=;j<=n;++j)
if(e[k][j]==) e[i][j]=,e[j][i]=-; }
for(i=;i<=n;++i)
for(j=+i;j<=n;++j){
if(!e[i][j]) s++;
} cout<<s<<endl;
}
return;
}
hdu 1704 (Floyd 传递闭包)的更多相关文章
- Rank HDU - 1704 【传递闭包水题】
there are N ACMers in HDU team.ZJPCPC Sunny Cup 2007 is coming, and lcy want to select some excellen ...
- UVA 247 电话圈 (floyd传递闭包 + dfs输出连通分量的点)
题意:输出所有的环: 思路:数据比较小,用三层循环的floyd传递闭包(即两条路通为1,不通为0,如果在一个环中,环中的所有点能互相连通),输出路径用dfs,递归还没有出现过的点(vis),输出并递归 ...
- UVA 753 UNIX 插头(EK网络流+Floyd传递闭包)
UNIX 插头 紫书P374 [题目链接]UNIX 插头 [题目类型]EK网络流+Floyd传递闭包 &题解: 看了书之后有那么一点懂了,但当看了刘汝佳代码后就完全明白了,感觉他代码写的好牛逼 ...
- UVA 247 电话圈(Floyd传递闭包+输出连通分量)
电话圈 紫书P365 [题目链接]电话圈 [题目类型]Floyd传递闭包+输出连通分量 &题解: 原来floyd还可以这么用,再配合连通分量,简直牛逼. 我发现其实求联通分量也不难,就是for ...
- HDU 5036 Explosion (传递闭包+bitset优化)
<题目链接> 题目大意: 一个人要打开或者用炸弹砸开所有的门,每个门后面有一些钥匙,一个钥匙对应一个门,告诉每个门里面有哪些门的钥匙.如果要打开所有的门,问需要用的炸弹数量为多少. 解题分 ...
- POJ 3660 Cow ContestCow(Floyd传递闭包)题解
题意:给出m个关系,问你能确定机头牛的排名 思路:要确定排名那必须要把他和其他n-1头牛比过才行,所以Floyd传递闭包,如果赢的+输的有n-1就能确定排名. 代码: #include<cstd ...
- nyoj 211——Cow Contest——————【floyd传递闭包】
Cow Contest 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 N (1 ≤ N ≤ 100) cows, conveniently numbered 1.. ...
- POJ3660:Cow Contest(Floyd传递闭包)
Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16941 Accepted: 9447 题目链接 ...
- POJ 2594 —— Treasure Exploration——————【最小路径覆盖、可重点、floyd传递闭包】
Treasure Exploration Time Limit:6000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64 ...
随机推荐
- php抛出异常
php抛出异常:throw new Exception("xxxxxx!"); 实例代码: try{ if ($mysqli->connect_errno) { sleep( ...
- 安全测试工具之Burpsuite
端口即服务,每一个服务对应一个或多个端口.端口扫描即通过一些方法检测到一台主机的一段特定端口是否提供相应的服务.利用这些扫描结果,正常用户可以访问系统所提供的服务,而黑客却可以利用这些服务中的漏洞对系 ...
- 20145206邹京儒 EXP7网络欺诈技术防范
20145206邹京儒 EXP7网络欺诈技术防范 一.实践过程记录 URL攻击实验前准备 1.在终端中输入命令:netstat -tupln |grep 80,查看80端口是否被占用,如下图所示 2. ...
- noip 2014 提高组 Day 2
1.无线网络发射器选址 这道题数据范围很小,就直接暴力枚举就好了.为了提高速度,就从每个有公共场所的点枚举周围在(x,y)放无线网路发射器可以增加的公共场所数量,加到一个数组里.所有公共场所都处理完了 ...
- Python3基础 str 通过拆分字符串与插入新的内容形成新的字符串
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- luogu4473 BZOJ2143 2011[国家集训队]飞飞侠
题目戳这里 有问题可以在博客@ 应该还会有人来看吧,嘻嘻 正题: 题目大意: 题目很清楚,就是一个点有一定的范围,会有一定的花费 求三个点中的任意两个点到另一个点的最小花费 (麻麻教育我千万读好题目( ...
- Codeforces Round #527 (Div. 3)
一场div3... 由于不计rating,所以打的比较浪,zhy直接开了个小号来掉分,于是他AK做出来了许多神仙题,但是在每一个程序里都是这么写的: 但是..sbzhy每题交了两次,第一遍都是对的,结 ...
- Java异常类复习总结
个人理解先行: 异常类是当在程序出现问题时抛出的一个警告.提示你程序设计或者代码有存在错误的地方. 异常类和Error都继承自Throwable, Throwable继承自Object类. Runti ...
- 高精度N的阶乘-N!
题目:输入一个正整数N(0<N<=30),求N! 代码: #include<stdlib.h> #include<cstdio> #include<strin ...
- shell 基本操作小结
1.echo和if else fi命令 #!/bin/bash echo hello;echo there filename=demo.sh if [ -e "$filename" ...