题目描述
冬天到了,开始下雪了。松神和二哥决定出去推雪人。大家都知道一个雪人由两个雪球组成。松神和二哥决定分工合作,每人分别先滚若干个雪球,然后再组合在一起。一个小时后,松神一共滚了n个雪球,每个雪球的半径分别为a1,a2,a3...,an,与此同时,二哥一共滚了m个雪球,每个雪球的半径分别为b1,b2,b3,...,bn。他们决定每人选择出一个雪球然后推成一个雪人。由于美观的原因,假设两个雪球的半径分别为r1,r2(r1<=r2),他们认为当雪人的两个雪球的半径满足3/2*r1<=r2<=2*r1时,那么这个雪人是美观的。你能告诉他们,他们是否能够组成一个美观的雪人吗?
输入
多组测试数据。
每组测试数据的第一行为两个正整数n,m(1<=n,m<=100)。
第二行为n个由空格分隔的正整数代表松神滚得雪球的半径。
第三行为m个由空格分隔的正整数代表二哥滚得雪球的半径。
所有雪球的半径均不大于100。
输出
对于每组测试数据,若松神和二哥能够组成一个美观的雪人,则输出"Yes",否则输出"No"。
样例输入
2 1 2 3 2 1 2 4 9 10
样例输出
Yes
sum为标识符
为1返回Yes
为0返回No
%lf输入否则有些大小会比较错误
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int n,m;
double a,b;
double str1[101];
double str2[101];
while(cin>>n>>m)
{
memset(str1,0,sizeof(str1));
memset(str2,0,sizeof(str2));
int sum=0;
for(int i=0;i<n;i++)
{
scanf("%lf",&str1[i]); //注意是要用double,后面的判断中会用到小数
}
for(int i=0;i<m;i++)
{
scanf("%lf",&str2[i]);
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(str1[i]>str2[j])
{
b=str1[i];
a=str2[j];
}
else
{
a=str1[i];
b=str2[j];
}
if(a*1.5<=b && b<=2*a)
{
sum=1;
}
}
}
if(sum==1)
{
cout<<"Yes";
}
else cout<<"No";
cout<<endl;
}
return 0;
}