用python写zoj1944的答案
时间: 2024-06-02 22:09:28 浏览: 133
ZOJ1944 题目描述:
有六个点A、B、C、D、E、F,已知它们的坐标,它们恰好可以组成一个正方形,请输出正方形的边长。
输入格式:
输入数据有多组,每组数据占一行,包含十二个整数,前六个表示点 A 的坐标 (x1,y1),后六个表示点 B 的坐标 (x2,y2)。输入数据保证这六个点恰好可以组成一个正方形,且正方形的边平行于坐标轴。
输出格式:
对于每组输入数据,输出正方形的边长,保留两位小数。
样例输入:
3 3 1 1 1 3 3 1 2 2 4 4
样例输出:
2.83
代码如下:
相关问题
用python写zoj1944的答案代码
ZOJ1944题目描述:
给定一个N*M的矩阵,每个元素是一个非负整数。现在走迷宫,从左上角走到右下角,只能向右或者向下走,求路径上的元素和最小是多少。
输入格式:
第一行是一个正整数T,表示有T组测试数据。
每组数据第一行是两个正整数N和M(1<=N,M<=100),表示矩阵的行数和列数。
接下来是一个N*M的矩阵,每个元素是一个非负整数,表示从左上角走到这个点需要的代价。
输出格式:
对于每组测试数据,输出一行,表示从左上角走到右下角的最小代价。
样例输入:
2
3 3
1 3 1
1 5 1
4 2 1
2 2
1 2
3 4
样例输出:
7
3
答案代码如下:
zoj1091 python算法
zoj1091是一道经典的动态规划问题,它的题目描述如下:
有一条直线路,长度为n,起点为0,终点为n。有m个加油站,每个加油站有一个加油量p,和一个位置d,表示在距离起点d的地方可以加p升油。车油箱的容量为c升,每行驶1千米消耗1升油,请问车能否从0到n行驶,如果能,最少需要加几次油?
这道问题可以用动态规划的方法求解。我们可以定义一个一维数组dp,其中dp[i]表示车到达距离i的位置时最少需要加几次油。
那么如何进行状态转移呢?
对于每个加油站,我们可以考虑是否在这个加油站加油。如果不加油,那么dp[i]的值就等于dp[i-1],因为车没有加油,可以继续往前开。
如果要在这个加油站加油,那么我们需要找到在之前的哪个位置加油次数最少。假设这个加油站的位置是j,加油量是p,那么我们需要在距离j-p的位置加油,这样才能到达加油站j。那么在距离j-p的位置加油的次数就是dp[j-p],加上这个加油站的加油次数1,就是dp[j-p]+1。我们还需要判断车的油箱容量是否够用,如果不够用,那么就不能在这个加油站加油。我们可以用一个变量tank来记录油箱中的油量,每经过一个位置就减去1,如果遇到加油站就加上p。
最后,dp[n]就是最终的答案,表示车到达终点n时最少需要加几次油。
下面是使用Python实现这道题的代码:
阅读全文