# Greedy# Conditional Statements# Basic Math

d260 - 11455 - Behold my quadrangle

🔗 前往 ZeroJudge 原題

題目描述

題目給定四個邊長,判斷這四個邊長能否構成一個正方形、矩形、四邊形,如果以上皆不能構成,則輸出 "banana"。

解題思路

解題思路是根據給定的四個邊長,依次判斷是否滿足正方形、矩形、四邊形的條件。

  1. 正方形:四個邊長相等。
  2. 矩形:兩組對邊分別相等。
  3. 四邊形:任何三邊之和必須大於第四邊。如果任何一邊大於等於其他三邊之和,則無法構成四邊形。
  4. 如果以上條件都不滿足,則輸出 "banana"。

複雜度分析

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

程式碼

#include <stdio.h>
int main(){
	int a,b,c,d;
	scanf("%d",&a);
	while(scanf("%d%d%d%d",&a,&b,&c,&d)>0){
		if(a==b&&b==c&&c==d)
			printf("square\n");
		else if ((a==b&&c==d)||(a==c&&b==d)||(a==d&&b==c))
      		printf("rectangle\n");
    	else if ((a+b+c<=d)||(a+b+d<=c)||(a+c+d<=b)||(b+c+d<=a))
    		printf("banana\n");
		else
			printf("quadrangle\n");
	} 
}

Discussion