首页 > 试题广场 >

拼凑正方形

[编程题]拼凑正方形
  • 热度指数:6972 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬币才能让这四根木棍拼凑出正方形。

输入描述:
输入包括一行,四个整数a,b,c,d(1 ≤ a,b,c,d ≤ 10^6), 以空格分割


输出描述:
输出一个整数,表示牛牛最少需要支付的硬币
示例1

输入

4 1 5 4

输出

4
头像 白伟仝
发表于 2020-07-25 19:16:28
绝对值函数求极值,模拟即可: import java.util.*; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(S 展开全文
头像 Jerome3399
发表于 2019-09-01 22:48:38
纯暴力解法 #include <iostream> using namespace std; int main() { int a[4], s[4]; for(int i=0; i < 4; i++) { cin >> a[i]; 展开全文
头像 牛客题解官
发表于 2020-06-05 18:04:38
题解 难度:简单 知识点:数学逻辑 排序 方法一(暴力求解) 思路: 1.需要找到最终构成正方体的边长x 2.该边长X一定在存在X>=min(a,b,c,d) 并且 X<= max(a,b,c,d) 3.遍历min(a,b,c,d)到max(a,b,c,d)中的所有值,计算支付的硬币数s 展开全文