2011-05-29 22:26:29Morris
d980. 11479 - Is this the easiest problem?
http://zerojudge.tw/ShowProblem?problemid=d980
內容 :
三角形是一種有三個正邊的幾何形狀。但是並非任意三個邊都可以形成一個三角形,這三個邊必需構成一個封閉區域。三角形可以其邊長來分類,本題便是要你判定三角形的種類。
輸入說明 :
輸入的第一行有一個正整數 T<20,表示有 T 筆測試資料。接下來的 T 行每行有三個 32 位元的有號整數。
輸出說明 :
對於每筆測資請輸出一行,其格式為:Case {x}: {triangle type}。其中 x 表示測資編號,{triangle type} 為三角形的種類。依三邊長的值,{triangle type} 是以下的一種:
- Invalid - 這三邊無法形成一個三角形
- Equilateral - 三邊均等長
- Isosceles - 恰有兩邊等長
- Scalene - 三邊均不等長
範例輸入 :
41 2 51 1 14 4 23 4 5
範例輸出 :
Case 1: InvalidCase 2: EquilateralCase 3: IsoscelesCase 4: Scalene
提示 :
32 位元的有號整數 (32 bit signed integer):-2147483648 ~ 2147483647
出處 :
#include<stdio.h>
#define swap(x,y) {long long t=x; x=y; y=t;}
int main() {
int T, C = 0;
scanf("%d", &T);
while(T--) {
long long n[3];
scanf("%lld %lld %lld", &n[0], &n[1], &n[2]);
if(n[0] > n[2]) swap(n[0], n[2]);
if(n[1] > n[2]) swap(n[1], n[2]);
if(n[0] > n[1]) swap(n[0], n[1]);
printf("Case %d: ",++C);
if(n[0] + n[1] <= n[2]) puts("Invalid");
else if(n[0] == n[2] && n[1] == n[2]) puts("Equilateral");
else if(n[0] == n[1] || n[1] == n[2]) puts("Isosceles");
else puts("Scalene");
}
return 0;
}