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 ...
随机推荐
- Gym - 101498G(Super Subarray )
In this problem, subarray is defined as non-empty sequence of consecutive elements. We define a suba ...
- CentOS 7安装GitLab、汉化、配置邮件发送
1.更换国内yum源 1.1 备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 1.2 ...
- Java设置jre通过java new Date()得到的时间的时区
1.前提 由于公司有印尼的项目,该项目仅对印尼当地开放使用(公司在国内,用的是阿里云的ECS,但是阿里云在印尼没有服务器,所以就买了新加坡的服务器),印尼当地人用的是东七区的时间,所以比国内东八区的时 ...
- 彻底的卸载SQL Server2005
昨天不小心把SQL Server 2005弄坏了.所以,对彻底卸载他进行了研究.在这里记录一下,嘿嘿~ 1.首先在控制面板中卸载所有与SQL Server 2005相关的程序,要记得最后一个卸载Mic ...
- delphi实现截全屏功能
procedure TForm1.Button10Click(Sender: TObject);var bmp: TBitmap; can: TCanvas; dc: HDC; Image1: TIm ...
- Android-ContentProvider简单的增删改查
注意:在ContentProvider里面写对数据库增删改查的时候,千万不能 db.close(); cursor.close(); 等操作,不然其他应用访问不到数据,也没有必要写isOpen(); ...
- react学习之路-配制antd-mobile
经过将近三个月的使用,现在终于在我老大的带领下做完了一个react的项目,感觉还可以,最大的不足就是,对于react中的很多的东西都是掺杂着jq使用来做的,这是最不满意的一点吧,但是开发进度很近,只能 ...
- [ActionScript 3.0] 绘制扇形方法
/** * 绘制扇形 * @param mc 承载扇形的对象 * @param x 圆心角x * @param y 圆心角y * @param r 半径 * @param angle 绘制角度 * @ ...
- 如何实现 Python 中 selnium 模块的换行
如何实现 Python 中 selnium 模块的换行 三种方法: 直接调用 .submit() 方法,常使用在用户密码登录中 # driver.find_element_by_xpath('//*[ ...
- 关于Socket通讯中的Close_wait状态
关于Socket通讯中的Close_wait状态 文/转 编辑 编者按:使用Socket通讯,有时我们查看端口状态的时候,经常会发现Socket处于close_wait状态,从而影响系统性能,此文或许 ...