箱子匹配 C++

2023-07-28 21:11:56 浏览数 (1)

题目描述

每个箱子都有长宽高,我们需要判断一个箱子能否放入另一个箱子中。

例如有箱子A的尺寸是 3 x 4 x 5,箱子B的尺寸 是 5 x 6 x 4,经过比较判断,可以知道箱子A能够放入箱子B中,我们就说箱子A匹配箱子B。

注意,当两个箱子尺寸相等,我们也认为它们匹配。

输入

第一行输入参数T,表示有T个测试实例

第二行输入第1组实例的箱子A的长、宽、高,输入数值为小于1000的自然数

第三行输入第1组实例的箱子B的长、宽、高,输入数值为小于1000的自然数

以此类推

输出

如果两个箱子匹配,输出yes,否则输出no。逐行输出每一组的箱子匹配结果。

输入样例1

3 3 4 5 5 6 4 5 6 4 3 4 5 5 6 7 7 4 7

输出样例1

yes yes no

代码

代码语言:javascript复制
#include <iostream>
using namespace std;
void fast(int array[],int first,int end)//这里只是将它们排个序,怎么排都行,这个是快速排序
{
    if(first>=end) 
    return;
    int standard=array[first],i=first,j=end,s; 
    while(i!=j) 
    {
		while(j>i&&array[j]>=standard) 
		j--;
		while(j>i&&array[i]<=standard)
		i  ;
		if(j>i) 
		{
			s=array[i];
			array[i]=array[j];
			array[j]=s;
		}
	}
	array[first]=array[j]; 
	array[j]=standard;
	fast(array,first,i-1); 
	fast(array,i 1,end); 
}
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int a[3],b[3];
		cin>>a[0]>>a[1]>>a[2]>>b[0]>>b[1]>>b[2];
		fast(a,0,2);
		fast(b,0,2);
		if(a[0]>=b[0]&&a[1]>=b[1]&&a[2]>=b[2]||a[0]<=b[0]&&a[1]<=b[1]&&a[2]<=b[2])
		cout<<"yes"<<'n';
		else
		cout<<"no"<<'n';
	}
}

0 人点赞