# Math# Geometry# Conditional Statement

d575 - 末日審判

🔗 前往 ZeroJudge 原題

題目描述

題目描述了一個末日審判的場景,審判範圍是十字型的。給定審判中心座標、首都座標和審判範圍,判斷首都是否在審判範圍內,如果在則輸出 "die",否則輸出 "alive"。

解題思路

題目要求判斷首都座標是否在以審判中心座標為中心,審判範圍為半徑的十字型範圍內。由於十字型範圍可以拆解為兩個曼哈頓距離小於等於範圍的矩形,因此只需要計算首都座標到審判中心座標的曼哈頓距離,如果曼哈頓距離小於等於審判範圍,則首都位於審判範圍內,輸出 "die",否則輸出 "alive"。

複雜度分析

  • 時間複雜度: O(1)
  • 空間複雜度: O(1)

程式碼

#include <stdio.h>
#include <math.h>
int main(){
	long long int a,b,c,d,e;
	while(scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&e)>0){
		(labs(a-c)+labs(b-d)<=e)?printf("die\n"):printf("alive\n");
	}
}

Discussion