目录
牛客_拼三角_枚举/DFS
题目解析
C++代码1
C++代码2
Java代码
牛客_拼三角_枚举/DFS
拼三角_枚举/DFS
题目解析
简单枚举,不过有很多种枚举方法,这里直接用简单粗暴的枚举方式。
C++代码1
#include <iostream>
#include <algorithm>
using namespace std;
int arr[6];
int main()
{
int t = 0;
cin >> t;
while(t--)
{
for(int i = 0; i < 6; i++)
{
cin >> arr[i];
}
sort(arr, arr + 6);
if(arr[0] + arr[1] > arr[2] && arr[3] + arr[4] > arr[5] ||
arr[0] + arr[2] > arr[3] && arr[1] + arr[4] > arr[5] ||
arr[0] + arr[3] > arr[4] && arr[1] + arr[2] > arr[5] ||
arr[0] + arr[4] > arr[5] && arr[1] + arr[2] > arr[3])
{
cout << "Yes" << endl;
}
else
{
cout << "No" << endl;
}
}
return 0;
}
C++代码2
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int t = 0;
cin >> t;
while(t--)
{
vector<int> v(6);
for(int i = 0; i < 6; ++i)
{
cin >> v[i];
}
sort(v.begin(), v.end());
bool flag = false;
do // 两个数的和大于第三个数,两个数的绝对值之差小于第三个数
{
if(v[0] + v[2] > v[1] && abs(v[0] - v[2]) < v[1])
{
if(v[3] + v[5] > v[4] && abs(v[3] - v[5]) < v[4])
{
cout << "Yes" << endl;
flag = true;
break;
}
}
}while (next_permutation(v.begin(), v.end()));
if(flag == false)
{
cout << "No" << endl;
}
}
return 0;
}
Java代码
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int t = in.nextInt();
int[] arr = new int[6];
while(t-- != 0)
{
for(int i = 0; i < 6; i++)
{
arr[i] = in.nextInt();
}
Arrays.sort(arr);
if(arr[0] + arr[1] > arr[2] && arr[3] + arr[4] > arr[5] ||
arr[0] + arr[2] > arr[3] && arr[1] + arr[4] > arr[5] ||
arr[0] + arr[3] > arr[4] && arr[1] + arr[2] > arr[5] ||
arr[0] + arr[4] > arr[5] && arr[1] + arr[2] > arr[3])
{
System.out.println("Yes");
}
else
{
System.out.println("No");
}
}
}
}