题目描述
每个箱子都有长宽高,我们需要判断一个箱子能否放入另一个箱子中。
例如有箱子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
代码
#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';
}
}