PAT (Basic Level) Practice 1011

1296 ワード

1011.A+BおよびC(15)
時間の制限
150 ms
メモリ制限
65536 kB
コード長制限
8000 B
クイズルーチン
Standard
作成者
HOU, Qiming
所定区間[-231,231]内の3つの整数A,B,Cが与えられ、A+BがCより大きいか否かを判断してください.
入力形式:
1行目を入力すると正の整数T(<=10)が与えられ、試験例の個数である.次に、Tグループのテスト例が与えられ、各グループは1行を占め、A、B、およびCの順に与えられる.整数間はスペースで区切られます.
出力フォーマット:
各試験例のセットについて、1行に「Case#X:true」を出力A+B>Cの場合、そうでなければ「Case#X:false」を出力し、ここでXは試験例の番号である(1から).
サンプルを入力:
4
1 2 3
2 3 4
2147483647 0 2147483646
0 -2147483648 -2147483647

出力サンプル:
Case #1: false
Case #2: true
Case #3: true
Case #4: false

解析:値区間をとると、数はlong longで保存する必要があることが説明されています.ここでは構造体でa,b,cと判定結果を格納し,最後にフォーマットで出力すればよい.
コード:
#include
#include
#define MAX 11
using namespace std;
struct Node{
	long long a;
	long long b;
	long long c;
	string res;
}node[MAX];
int main()
{
	int n;
	cin >> n;
	for(int i = 1; i <= n; i++){
		cin >> node[i].a >> node[i].b >> node[i].c;
		node[i].res = (node[i].a + node[i].b > node[i].c) ? "true" : "false";
	}
	for(int i = 1; i <= n; i++){
		cout << "Case #" << i << ": " << node[i].res << endl;
	}
	return 0;
}