您的位置:首页 > 编程语言 > Go语言

Google Code Jam Round2 A,B题解

2015-06-01 21:56 405 查看
咦莫名奇妙就进Round3了。。本来打算混一件衣服就好的

A

给你一张地图。有^<v>和.。分别表示4个方向和空。走到空格上如果原来有方向则方向不变继续运动。如果空格为起始位置则不动

要求改变某些箭头,使得从任意一个位置出发都不会走出地图。

因为不要求构造方案嘛。。这题就很好做了

我们从每格开始沿着箭头走。每走出一次地图则ans+1。

如果走到前面已经走过的位置则直接return

这时候ans已经出来了

然后再看看每个箭头的上下左右四个方位是否有别的箭头。如果有的话则有解,输出ans

否则输出IMPOSSIBLE

B

有n种水管,第i个流速Vi,温度Xi

现在要获得体积为V温度为X的液体。问最少要放多久的水,每种水管可以一起放水

温度的计算公式为(v1*x1+v2*x2)/(v1+v2)

据说可以用凸包的做法做。。可我只会二分

我们先把液体按照温度排序,然后二分时间T,然后看看在T的时间内可以达到的最高温度和最低温度

然后逐步逼近可行解就可以了

在题目要求的精度范围下还可以接受。。精度再高一点就会TLE了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: