暑假集训(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非常着急.想阻止他的行动.而要阻止他,必须先破解鬼打墙. ...
随机推荐
- ios开发 数据库版本迁移手动更新迭代和自动更新迭代
数据库版本迁移顾名思义就是在原有的数据库中更新数据库,数据库中的数据保持不变对表的增.删.该.查. 数据持久化存储: plist文件(属性列表) preference(偏好设置) NSKeyedArc ...
- NUMBER_GET_NEXT
1. SNRO /SNUM创建一个流水号对象 CALL FUNCTION 'NUMBER_RANGE_ENQUEUE' EXPORTING OBJECT = '' EXCEPTIONS FOREIGN ...
- Parameterized Path 的例子
Improve the planner's ability to use nested loops with inner index scans (Tom Lane) The new "pa ...
- materialish-progress
https://github.com/pnikosis/materialish-progress materialish-progress-master.zip
- [AngularJS - thoughtram] Exploring Angular 1.3: Binding to Directive Controllers
The post we have: http://www.cnblogs.com/Answer1215/p/4185504.html gives a breif introduce about bin ...
- iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画
CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...
- javascript关闭浏览器窗口
var opened=window.open('about:blank','_self'); opened.close(); window.open 不被阻止 .open('_blank') 然后 t ...
- 学习笔记之Shell & QSHELL
shell(计算机壳层)_百度百科 http://baike.baidu.com/subview/849/15831672.htm Shell (computing) - Wikipedia, the ...
- jni 之helloworld
前言: 作为android开发程序员,有的时候不得不和c,c++进行交互,有时候,需要把自己的应用加入一些特效,2d的或者3d的,特别是立志或者想要转向android游戏开发(目前所知,coc ...
- QT: QByteArray储存二进制数据(包括结构体,自定义QT对象)
因为利用QByteArray可以很方便的利用其API对内存数据进行访问和修改, 构建数据库blob字段时必不可少; 那如何向blob内写入自定义的结构体和类 1. 利用memcpy拷贝内存数据 / ...