View Code of Problem 32

#include <iostream>		//必备
#include <string>		//字符串
#include <cmath>		//数学函数
#include <algorithm>	//STL容器算法
#include <stack>
#include <vector>
#include <set>
#include <queue>
using namespace std;

int main()
{
	int i, j, flag, k;
	long long n, m, t;
	string str, s;
	int X, Y;
	while (scanf("%d %d", &X, &Y) != EOF) 
	{
		int L;
		double R, len, damage;
		int x[5], y[5], hp[5];
		int flag = 0;       //判断是否击杀 
		for (int i = 0; i < 5; i++)
			scanf("%d %d %d", &x[i], &y[i], &hp[i]);
		scanf("%d %lf", &L, &R);
		for (int i = 0; i < 5; i++) {
			len = sqrt((x[i] - X)*(x[i] - X)) + ((y[i] - Y)*(y[i] - Y));
			damage = len * R;
			if (L >= len && damage >= hp[i]) {
				flag = 1;
				break;
			}
		}
		if (flag == 1)
			printf("Yes\n");
		else
			printf("No\n");
	}
	return 0;
}


Double click to view unformatted code.


Back to problem 32