POJ 2253 Frogger ,poj3660Cow Contest(判断绝对顺序)(最短路,floyed)
POJ 2253 Frogger题目意思就是求所有路径中最大路径中的最小值。
#include<iostream>
#include<cstdio>
#include<string.h>
#include <utility>//make_pair的头文件
#include<math.h>
using namespace std;
const int maxn=;
double map[maxn][maxn];
int n;
typedef struct pair<int,int> PAIR_IF;
double max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
void floyd()
{
for(int v=;v<=n;v++)
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(map[i][j]>max(map[i][v],map[v][j]))
map[i][j]=max(map[i][v],map[v][j]);
printf("Frog Distance = %.3f\n\n",map[][]); }
double dis(PAIR_IF p1,PAIR_IF p2)
{
return (sqrt((double)(p1.first-p2.first)*(p1.first-p2.first)+(p2.second-p1.second)*(p2.second-p1.second))); }
int main()
{
std::ios::sync_with_stdio(false);//用这个语句,取消cin,cout与stdio的同步,就是提速,效率基本与scanf和printf一致。
int a,b;
PAIR_IF p[maxn];
int t=;
while(cin>>n&&n!=)
{
for(int i=;i<=n;i++)
{
cin>>a>>b;
p[i]=make_pair(a,b);
}
for(int i=;i<=n;i++)
{
for(int j=i;j<=n;j++)
{
if(i==j)
map[i][j]=;
map[j][i]=map[i][j]=dis(p[i],p[j]);
}
}
cout<<"Scenario #"<<t<<endl;
floyd();
t++;
}
return ;
}
poj3660Cow Contest(判断绝对顺序)题目意思是给出牛的数量n和牛之间的胜负关系m,让你求出可确定排名的牛的数量
列如:输入:
5 5(5头牛 5关系)
4 3(牛4可打败牛3)
4 2(牛4可打败牛2)
3 2(牛3可打败牛2)
1 2(牛1可打败牛2)
2 5(牛2可打败牛5)
输出:2(牛1和牛5可确定排名)
代码:
#include <iostream>
#include <string.h>
#include <algorithm>
#include <stdio.h>
using namespace std;
const int MAXN=;
int win[MAXN][MAXN];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(win,,sizeof(win));
int u,v;
while(m--)//m种关系
{
scanf("%d%d",&u,&v);
win[u][v]=; //u可以直接打败v
}
for(int k=;k<=n;k++) //i间接打败j
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(win[i][k]&&win[k][j])
win[i][j]=;
int ans=;//记录有几头牛可以确定排名
int j;
for(int i=;i<=n;i++)
{
for(j=;j<=n;j++)//与所有牛都有关系就能够确定绝对顺序
{
if(i==j)
continue;
if(win[i][j]==&&win[j][i]==)
break;//关系不确定
}
if(j>n)
ans++;
}
printf("%d\n",ans);
}
return ;
}
POJ 2253 Frogger ,poj3660Cow Contest(判断绝对顺序)(最短路,floyed)的更多相关文章
- poj 2253 Frogger (最长路中的最短路)
链接:poj 2253 题意:给出青蛙A,B和若干石头的坐标,现青蛙A想到青蛙B那,A可通过随意石头到达B, 问从A到B多条路径中的最长边中的最短距离 分析:这题是最短路的变形,曾经求的是路径总长的最 ...
- 最短路(Floyd_Warshall) POJ 2253 Frogger
题目传送门 /* 最短路:Floyd算法模板题 */ #include <cstdio> #include <iostream> #include <algorithm& ...
- POJ. 2253 Frogger (Dijkstra )
POJ. 2253 Frogger (Dijkstra ) 题意分析 首先给出n个点的坐标,其中第一个点的坐标为青蛙1的坐标,第二个点的坐标为青蛙2的坐标.给出的n个点,两两双向互通,求出由1到2可行 ...
- POJ 2253 Frogger(dijkstra 最短路
POJ 2253 Frogger Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fion ...
- POJ 2253 Frogger
题目链接:http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- poj 2253 Frogger 最小瓶颈路(变形的最小生成树 prim算法解决(需要很好的理解prim))
传送门: http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- poj 2253 Frogger (dijkstra最短路)
题目链接:http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
- POJ 2253 ——Frogger——————【最短路、Dijkstra、最长边最小化】
Frogger Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Stat ...
- POJ 2253 Frogger Floyd
原题链接:http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissi ...
随机推荐
- Ubuntu14.04 下安装Vmware-Tools
1.切换到ubuntu 图形界面 startx , 点击虚拟机菜单栏-安装VMware Tools 2. 在Ubuntu系统中找到VMwareTools-9.2.2-893683.tar.gz ,右键 ...
- springmvc框架简单搭建
一.利用xml 配置 1.web.xml <web-app version="2.4" xmlns="http://java.sun.com/xml/n ...
- [GO]使用go语言实现比特币的工作量证明
之前的博文已经实现了区块连的基本的工作原理,但在比特币系统中有一个很重要的概念:工作量证明POW,在比特币系统中它的作用就是在十分钟左右的时间内只有一个有能够记帐并得到奖励 在之前的博文中,区块的哈希 ...
- [operator]ELK6的安装
找了很久才找到一个博客写得比较全面的,FrankDeng 系统环境:CentOS7 相关软件:node-v10.9.0.tar.gz.kibana-6.4.0-linux-x86_64.tar.gz. ...
- [GO]面向对象编程
对于面向对象编程的支GO语言的设计简洁而优雅,因为,GO语言没有沿袭传统面向对象中的诸多概念 比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继承) 尽管GO语言没有封装.继承. ...
- Vagrant 使用 samba 共享文件夹
在windows下使用Vagrant时可以使用samba方式共享文件夹. 配置如下: config.vm.synced_folder "./", "/path/to/we ...
- 如何设置才能远程登录Mysql数据库
可以在一台机器上访问另一台机器的MySQL,但是需要一些设置. 进入MySQL后,输入以下命令: GRANT ALL PRIVILEGES ON *.* TO 'tigase'@'%' IDENTIF ...
- 编写高质量代码改善C#程序的157个建议——建议154:不要过度设计,在敏捷中体会重构的乐趣
建议154:不要过度设计,在敏捷中体会重构的乐趣 有时候,我们不得不随时更改软件的设计: 如果项目是针对某个大型机构的,不同级别的软件使用者,会提出不同的需求,或者随着关键岗位人员的更替,需求也会随个 ...
- 编写高质量代码改善C#程序的157个建议——建议73:避免锁定不恰当的同步对象
建议73:避免锁定不恰当的同步对象 在C#中,让线程同步的另一种编码方式就是使用线程锁.线程锁的原理,就是锁住一个资源,使得应用程序在此刻只有一个线程访问该资源.通俗地讲,就是让多线程变成单线程.在C ...
- oracle数据库中将clob字段内容利用java提取出至文本文档中
代码段: 1.执行clob转String public static String ClobToString(Clob sc) throws SQLException, IOException { S ...