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 ...
随机推荐
- HDU 1159 Common Subsequence (LCS)
题意:给定两行字符串,求最长公共子序列. 析:dp[i][j] 表示第一串以 i 个结尾和第二个串以 j 个结尾,最长公共子序列,剩下的就简单了. 代码如下: #pragma comment(link ...
- 创建EDM
在学习linq过程中,我们难免会要创建EDM,这里简单的介绍一下EDM的创建过程 图示如下: 1.右击→添加→新建项→数据→Ado.net实体数据模型 选择适当的数据库,表后点击完成,vs中会自动生成 ...
- ObjC正则表达式验证
试过ObjC的regkit这个框架. 也用过内置的正则表达式验证. 最后发现有个非常简单的方法就可以做到验证正则表达式.那就是NSPredicte这个类提供的方法. 这里有验证邮箱地址的正则为例: N ...
- Find out your Java heap memory size
In this article, we will show you how to use the -XX:+PrintFlagsFinal to find out your heap size det ...
- Promises讲解
原生 Promises 是在 ES2015 对 JavaScript 做出最大的改变.它的出现消除了采用 callback 机制的很多潜在问题,并允许我们采用近乎同步的逻辑去写异步代码. 可以说 pr ...
- linux 磁盘 分区 MBR GPT
磁盘:由许多盘片,机械手臂,磁头和主轴马达所构成的,实际的数据都是写入盘片上面,而读写主要是通过机械手臂可伸展让磁头在盘片(在主轴马达的转动左右下,盘片跟着转动)上面进行读写操作.由于单一盘片写入数据 ...
- delphi中sql实现while循环插入,不存在则插入
' declare @i int; '+ ' set @i=0; '+ ' while @i<4 '+ ' begin '+ ' insert into NBCommission(Type,It ...
- 一个自定义MVP .net框架 AngelFrame
摘要:本篇是本人在完成.net平台下一个项目时,对于MVP框架引发的一些思考,以及开发了一个小型的配置型框架,名字叫作AngelFrame.这个项目属于前端桌面管理系统的一部分,最终要集成进去. 关键 ...
- Replication--Alwayson+复制发布
场景:主服务器:RepServer1从服务器:RepServer2监听者:RepListener分发库:DisServer发布数据库:RepDB1配置:1>设置DisServer为分发服务器,在 ...
- 使用.net core 自带DI框架实现 延迟加载
在某些情况,我们希望能延迟一个依赖的初始化.如果使用的是autofac,我们可以通过注入Lazy来实现. 我们对 autofac GitHub上提供的一个例子进行进行简单改造,跑起来看看. 原Exam ...