# Geometry# Greedy# Conditional Statements

d511 - 小明的作業

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算五組樹枝長度中,有多少組可以構成三角形。每組樹枝長度由三個整數表示,輸入為五行,每行三個整數。

解題思路

三角形的構成條件是:任意兩邊之和必須大於第三邊。程式碼中,對於每一組樹枝長度 abc,檢查是否滿足 a + b > cb + c > aa + c > b 這三個條件。如果三個條件都滿足,則表示可以構成三角形,計分器 i 增加 1。最終輸出 i 的值,即小明可以加的分數。

複雜度分析

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

程式碼

#include <stdio.h>
int main(){
	int a,b,c,i=0;
	scanf("%d%d%d",&a,&b,&c);
		if(a+b>c&&b+c>a&&a+c>b)
			i++;
	scanf("%d%d%d",&a,&b,&c);
		if(a+b>c&&b+c>a&&a+c>b)
			i++;
	scanf("%d%d%d",&a,&b,&c);
		if(a+b>c&&b+c>a&&a+c>b)
			i++;
	scanf("%d%d%d",&a,&b,&c);
		if(a+b>c&&b+c>a&&a+c>b)
			i++;
	scanf("%d%d%d",&a,&b,&c);
		if(a+b>c&&b+c>a&&a+c>b)
			i++;
	printf("%d\n",i);				
}

Discussion