列表

详情


NC219046. 拼三角

描述

给出6根棍子,能否在选出3根拼成一个三角形的同时剩下的3根也能组成一个三角形?

输入描述

首先在一行中给出一个 ,代表测试数据的组数

接下来t行,每行给出6个数字代表棍子长度,棍子长度为正且小于

输出描述

在一行中输出 “Yes” or “No”

示例1

输入:

2
1 1 1 1 1 1
1 2 3 4 5 6

输出:

Yes
No

原站题解

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

Python3(3.9) 解法, 执行用时: 227ms, 内存消耗: 2940K, 提交时间: 2021-04-24 12:57:29

from itertools import permutations
def test(arg):
    a,b,c = arg
    if a+b>c and a+c>b and b+c>a: return True
    else: return False
gt=lambda:list(map(int,input().split()))
t = int(input())
while t:
    t -= 1
    ar = gt()
    ans = 'No'
    for a in permutations(ar):
        if test(a[:3]) and test(a[3:]):
            ans = 'Yes'
            break
    print(ans)

C++ 解法, 执行用时: 17ms, 内存消耗: 604K, 提交时间: 2021-06-17 21:42:07

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;
    cin>>t;
	while(t--){
		int a[7];
		for(int i=1;i<=6;i++) cin>>a[i];
        sort(a+1,a+7);
		if(a[1]+a[2]>a[3]&&a[4]+a[5]>a[6]||a[1]+a[3]>a[4]&&a[2]+a[5]>a[6]||a[1]+a[4]>a[5]&&a[2]+a[3]>a[6]||a[1]+a[5]>a[6]&&a[2]+a[3]>a[4]) puts("Yes");
        else puts("No");
	}
	return 0;
}

上一题