暑假集训(3)第四弹 -----Frogger(Poj2253)
题意梗概:青蛙王子最近喜欢上了另一只经常坐在荷叶上的青蛙公主。不过这件事不小心走漏了风声,被某fff团团员知
道了,在青蛙王子准备倾述心意的那一天,fff团团员向湖泊中注入大量的充满诅咒力量的溶液。这种溶液最初练成需整
整十一年的时间,在每一个剁手节,都要向其中融入珍贵魔法材料“辛格多格的哀怨“。有“一碰到就会告白失败的”功用。
不过幸运的是,青蛙王子居然很快发现到i这一点,所以他准备通过某种神秘仪式,来驱散这个诅咒。但是这个仪式还需
要一个关键数来触发,那就是从青蛙王子所在荷叶跳到青蛙公主的,每一条路径中的最大跳跃步数的集合中的最小数。
有了它,”信仰之跃“仪式就可以开始发挥作用,破除”辛格多格的哀怨“的魔法力量。
为了保护真善美,为了爱与和平,你决定帮助青蛙王子得到那个最小数。
问题分析:我觉得这个星期做题都快做成懵逼了,好多种乱七八遭的算法,碰到题目都没怎么思考,就开始”套模板“,这
个题目,我套啊套,也没整出个名堂,最后还是百度了,用floyd算法或者prim什么的都行,然而我还是不会做,这真的很
难受。唉.....
#include <cstdio>
#include <cmath>
int stone[][];
int x[],y[];
int n,cas=;
void mbegin()
{
int i;
for(i = ;i < n;i++)
scanf("%d%d",&x[i],&y[i]);
}
int max(int va,int vb)
{
return va > vb ? va : vb;
}
int square(int x1,int y1,int x2,int y2)
{
return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
void init()
{
int i,j;
for(i = ;i < n;i++)
for(j = ;j < n;j++)
stone[i][j] =stone[j][i] = square(x[i],y[i],x[j],y[j]); }
double Floyd()
{
int i,j,k;
init();
for(k = ;k < n;k++)
for(i = ;i < n;i++)
for(j = ;j < n;j++)
{
if(stone[i][j] > stone[i][k] && stone[i][j] > stone[k][j])
stone[i][j] = max(stone[i][k],stone[k][j]);
stone[j][i] = stone[i][j];
}
return sqrt(double(stone[][]));
}
int main(void)
{
while(scanf("%d",&n) && n)
{
mbegin();
printf("Scenario #%d\nFrog Distance = %.3lf\n\n",++cas,Floyd());
}
return ; }
暑假集训(3)第四弹 -----Frogger(Poj2253)的更多相关文章
- 暑假集训(4)第四弹 -----排列,计数(hdu1465)
题意概括:嗯,纵使你数次帮助小A脱离困境,但上一次,小A终于还是失败了.那数年的奔波与心血,抵不过轻轻一指,便彻底 湮灭,多年的友谊终归走向末路.这一切重击把小A彻底击溃! 不为什么,你到底还是要继续 ...
- 暑假集训(2)第四弹 ----- 敌兵布阵(hdu1166)
D - 敌兵布阵 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32768KB 64bit ...
- 暑假集训(1)第四弹 -----Find a way(Hdu2612)
Description Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Nin ...
- 暑假集训(2)第七弹 -----今年暑假不AC(hdu2037)
J - 今年暑假不AC Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32768KB 64 ...
- 暑假集训(4)第五弹——— 数论(hdu1222)
题意概括:那天以后,你好说歹说,都快炼成三寸不烂之舍之际,小A总算不在摆着死人脸,鼓着死鱼眼.有了点恢复的征兆.可孟子这家伙说的话还是有点道理,那什么天将降....额,总之,由于贤者法阵未完成,而小A ...
- 暑假集训(4)第八弹——— 组合(hdu1524)
题意概括:你已经赢得两局,最后一局是N个棋子往后移动,最后一个无法移动的玩家失败. 题目分析:有向无环图sg值游戏,尼姆游戏的抽象表达.得到每个棋子的sg值之后,把他们异或起来,考察异或值是否为0. ...
- 暑假集训(4)第七弹——— 组合(hdu1850)
题意概括:你赢得了第一局.魔鬼给出的第二局是,如果有N堆牌,先手的人有几种可能胜利. 问题分析:尼姆游戏,先得到n堆牌的数量异或和,再将异或和与每一个牌组的数量异或,如果结果小于原牌组数量 则可能++ ...
- 暑假集训(4)第六弹——— 组合(poj1067)
题意概括:上一次,你成功甩掉了fff机械兵.不过,你们也浪费了相当多的时间.fff团已经将你们团团包围,并且逐步 逼近你们的所在地.面对如此危机,你不由得悲观地想:难道这acm之路就要从此中断?虽然走 ...
- 暑假集训(4)第三弹 -----递推(Hdu1799)
问题描述:还记得正在努力脱团的小A吗? 他曾经最亲密的战友,趁他绘制贤者法阵期间,暗中设下鬼打墙将小A 围困,并准备破坏小A正在绘制的法阵.小A非常着急.想阻止他的行动.而要阻止他,必须先破解鬼打墙. ...
随机推荐
- Python Telnet弱口令爆破脚本及遇到的错误与问题
写得时候遇到了一个很大的问题,就是我在发送用户名,接受用户名就会一直卡住.然后等了好久后提示 recv ‘\r\nSession timed out.\r\n\r\nTelnet Server has ...
- file_put_contents() failed to open stream: Permission denied 问题解决
很长时间没有写PHP了,今天突然有个需求要写一个保存文件的功能. function downloadFile( $url , $savePath = '' ) { $fileName = ge ...
- 让DataGridView显示行号
http://www.cnblogs.com/JuneZhang/archive/2011/11/21/2257630.html 为了表示行号,我们可以在DataGridView的RowP ...
- js冒泡事件示例
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery - Start ...
- java nio 抛出NonWritableChannelException异常
抛出异常的代码在此处: MappedByteBuffer buffer = channel.map(MapMode.READ_WRITE, 0, avalible); 其中channel是一个file ...
- [Bootstrap] 4. Typogrphy
What is Typography When we talk about typography, it's a big subject! Which of the following fall un ...
- uboot中gd的定义和使用
近期在做uboot中nand启动相关的工作,遇到一个问题一直纠结着.如今最终明确了这个问题,想想还有好多兄弟在某个黑暗的角落里或者某台电脑前纠结着呢,所以赶紧写下来以供查阅. uboot versio ...
- (转)Dependency Walker使用说明
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录, ...
- MySQL架构优化实战系列2:主从复制同步与查询性能调优
- careercup-C和C++ 13.7
13.7 写一个函数,其中一个参数是指向Node结构的指针,返回传入数据结构的一份完全拷贝. Node结构包含两个指针,指向另外两个Node. C++实现代码: typedef map<Node ...