e521 - 106 彰雲嘉區複賽 - Q1 三角形
題目描述
題目給定三個正整數,代表三角形的三邊長,要求判斷這三邊是否能構成一個三角形。如果能構成三角形,則進一步判斷是否為等腰三角形。
解題思路
首先,根據三角形不等式判斷三邊長是否能構成三角形,即任意兩邊之和必須大於第三邊。如果滿足這個條件,則可以構成三角形,輸出 1。接著,判斷三角形是否為等腰三角形,即判斷是否有兩邊長相等。如果相等,則輸出 1,否則輸出 0。如果最初的三邊長無法構成三角形,則直接輸出 0。
複雜度分析
- 時間複雜度: O(n)
- 空間複雜度: O(1)
程式碼
#include <stdio.h>
int main(){
int a,b,c;
scanf("%d",&a);
while(scanf("%d%d%d",&a,&b,&c)>0){
if(a<b+c&&b<a+c&&c<b+a){
printf("1 ");
if(a==b||b==c||c==a)
printf("1\n");
else
printf("0\n");
}
else
printf("0\n");
}
}