1304堆雪人

Time Limit: 1 SecMemory Limit: 128 MB

Submit: 1122Solved: 346

[Submit][Status][Web Board]

Description

冬天到了,开始下雪了。松神和二哥决定出去推雪人。大家都知道一个雪人由两个雪球组成。松神和二哥决定分工合作,每人分别先滚若干个雪球,然后再组合在一起。一个小时后,松神一共滚了n个雪球,每个雪球的半径分别为a1,a2,a3...,an,与此同时,二哥一共滚了m个雪球,每个雪球的半径分别为b1,b2,b3,...,bn。他们决定每人选择出一个雪球然后推成一个雪人。由于美观的原因,假设两个雪球的半径分别为r1,r2(r1<=r2),他们认为当雪人的两个雪球的半径满足3/2*r1<=r2<=2*r1时,那么这个雪人是美观的。你能告诉他们,他们是否能够组成一个美观的雪人吗?

Input

多组测试数据。

每组测试数据的第一行为两个正整数n,m(1<=n,m<=100)。

第二行为n个由空格分隔的正整数代表松神滚得雪球的半径。

第三行为m个由空格分隔的正整数代表二哥滚得雪球的半径。

所有雪球的半径均不大于100。

Output

对于每组测试数据,若松神和二哥能够组成一个美观的雪人,则输出"Yes",否则输出"No"。

Sample Input

2 1

2 3

2

1 2

4

9 10

Sample Output

Yes

No


思路:暴力模拟,只要有其中的两个雪球满足3/2*r1<=r2<=2*r1,即可输出Yes,反之为No;

参考:ZCMU1304推雪球(数组模拟) - 笑着走完自己的路 - CSDN博客


AC代码:

#include

#include

#include

#include

using namespace std;

int main(){

int m,n,flag,x,y;

double a[100],b[100];

while(~scanf("%d%d",&n,&m))

{

memset(a,0,sizeof(a));

memset(b,0,sizeof(b));

flag=0;

for(int i=0;i

scanf("%lf",&a[i]);

}

for(int i=0;i

scanf("%lf",&b[i]);

}

for(int i=0;i

for(int j=0;j

if(a[i]>b[j])

{

x=a[i];

y=b[j];

}

else {

x=b[j];

y=a[i];

}

if((1.5*y)<=x&&x<=2*y)

flag=1;

}

if(flag==1)

printf("Yes\n");

else

printf("No\n");

}

return 0;

}

你可能感兴趣的:(1304堆雪人)