poj 1975 Median Weight Bead
2013-08-04 14:46
405 查看
题意:给你很多柱子(奇数个),每个珠子都有其重量,下面的关系是给出的轻重关系,按照质量的大小来排序,让你判断不可能是中值点的个数。
思路:简单的传递闭包入门题,
flody判断传递闭包的方法
for(int k=1;k<=n;++k)
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if((map[i][k]&&map[k][j])||map[i][j]) 如果不懂的话,可以baidu下
map[i][j] = true;
用flody判断出所有的轻重关系以后,继续寻找找出大于这个数的个数大于一半或是小于这个数的个数大于一半的数的个数。用num来记录。
唯一需要想清楚的一点是:如果大于(小于)一半之后,不可能存在还有小于(大于)一半。
#include<cstdio>
#include<cstring>
#include<iostream>
#define N 101
using namespace std;
bool map
;
int n,m;
int main(void)
{
int t;
cin>>t;
while(t--)
{
memset(map,false,sizeof(map));
int num = 0;
cin>>n>>m;
int flag = n/2;
for(int i=1;i<=m;++i)
{
int a,b;
scanf("%d %d",&a,&b);
map[a][b] = true;
}
for(int k=1;k<=n;++k)
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if((map[i][k]&&map[k][j])||map[i][j])
map[i][j] = true;
int tmp;
for(int i=1;i<=n;++i)
{
tmp = 0;
for(int j=1;j<=n;++j)
if(map[j][i])
++tmp;
if(tmp>flag)
++num;
}
for(int i=1;i<=n;++i)
{
tmp = 0;
for(int j=1;j<=n;++j)
if(map[i][j])
++tmp;
if(tmp>flag)
++num;
}
cout<<num<<endl;
}
return 0;
}
思路:简单的传递闭包入门题,
flody判断传递闭包的方法
for(int k=1;k<=n;++k)
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if((map[i][k]&&map[k][j])||map[i][j]) 如果不懂的话,可以baidu下
map[i][j] = true;
用flody判断出所有的轻重关系以后,继续寻找找出大于这个数的个数大于一半或是小于这个数的个数大于一半的数的个数。用num来记录。
唯一需要想清楚的一点是:如果大于(小于)一半之后,不可能存在还有小于(大于)一半。
#include<cstdio>
#include<cstring>
#include<iostream>
#define N 101
using namespace std;
bool map
;
int n,m;
int main(void)
{
int t;
cin>>t;
while(t--)
{
memset(map,false,sizeof(map));
int num = 0;
cin>>n>>m;
int flag = n/2;
for(int i=1;i<=m;++i)
{
int a,b;
scanf("%d %d",&a,&b);
map[a][b] = true;
}
for(int k=1;k<=n;++k)
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if((map[i][k]&&map[k][j])||map[i][j])
map[i][j] = true;
int tmp;
for(int i=1;i<=n;++i)
{
tmp = 0;
for(int j=1;j<=n;++j)
if(map[j][i])
++tmp;
if(tmp>flag)
++num;
}
for(int i=1;i<=n;++i)
{
tmp = 0;
for(int j=1;j<=n;++j)
if(map[i][j])
++tmp;
if(tmp>flag)
++num;
}
cout<<num<<endl;
}
return 0;
}
相关文章推荐
- poj1975 Median Weight Bead(floyd || 暴搜)
- zoj 2500 || poj 1975 Median Weight Bead
- POJ 1975 Median Weight Bead floyd求传递闭包 || bfs
- POJ 1975:Median Weight Bead
- POJ 1975 Median Weight Bead
- poj 1975 Median Weight Bead(传递闭包 Floyd)
- poj 1975 Median Weight Bead
- poj 1975 Median Weight Bead(传递闭包 Floyd)
- POJ 1975 Median Weight Bead 笔记
- poj 1975 Median Weight Bead 传递闭包的应用
- POJ 1975 Median Weight Bead(Floyd传递闭包)
- POJ-1975 Median Weight Bead(Floyed)
- POJ-1975 Median Weight Bead(Floyed)
- POJ1975 Median Weight Bead
- hoj 2218 Median Weight Bead // poj 1975 Median Weight Bead 有向图的传递闭包问题
- poj&nbsp;1975&nbsp;Median&nbsp;Weight&nbsp;Bead(floy…
- 1975(Median Weight Bead)
- OpenJudge 1975 Median Weight Bead
- ZOJ 2500 Median Weight Bead
- POJ1975:Median Weight Bead(FLOYD)