列表

详情


NC200575. Cuboid

描述

一个长方体,长宽高分别为a,b,c。一只蚂蚁从一个顶点沿表面爬到对角顶点处,求爬行的最短距离的平方。


输入描述

第一行是一个整数,表示样例的个数。
以后每行一个样例,为三个整数

输出描述

每行输出一个样例的结果,为一个整数。

示例1

输入:

1
1 1 1

输出:

5

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 21ms, 内存消耗: 632K, 提交时间: 2020-07-31 12:33:05

#include<bits/stdc++.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	while(t--){
		int a[3];
		cin>>a[0]>>a[1]>>a[2];
		sort(a,a+3);
		cout<<(a[0]+a[1])*(a[0]+a[1])+a[2]*a[2]<<endl;
	}
} 

C++11(clang++ 3.9) 解法, 执行用时: 36ms, 内存消耗: 632K, 提交时间: 2020-01-12 18:34:19

#include <bits/stdc++.h>
using namespace std;
int main(){
	int T;
	cin>>T;
	int a,b,c;
	while(T--){
		cin>>a>>b>>c;
		cout<<min((a+b)*(a+b)+c*c,min((a+c)*(a+c)+b*b,(b+c)*(b+c)+a*a))<<endl;
	}
}

Python3(3.5.2) 解法, 执行用时: 113ms, 内存消耗: 3552K, 提交时间: 2019-12-28 20:01:29

for i in range(int(input())):
    a = list(map(int,input().split()))
    a.sort()
    print(a[0]**2+a[1]**2+2*a[0]*a[1]+a[-1]**2)
    

上一题