Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Sunrise and Sunset"
https://onlinejudge.u-aizu.ac.jp/problems/0336
太陽が現れることを「日の出」、隠れることを「日の入り」と呼びますが、その厳密な時刻は太陽が地平線に対してどのような位置にある時でしょうか。
ある時刻の地平線から太陽の中心までの高さと、太陽の半径を入力とし、その時刻が「昼間」か、「日の出または日の入り」か、「夜間」かを出力するプログラムを作成せよ。
僕が作成、提出したコードは、以下のとおりです。
Aizu Online Judge in C++ #Volume3 - 0336 : Sunrise and Sunset
/* Aizu Online Judge in C++ #Volume3 - 0336 : Sunrise and Sunset https://onlinejudge.u-aizu.ac.jp/problems/0336 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int h,r; cin>>h>>r; if(h+r>0){ cout<<1<<endl; }else if(h+r<0){ cout<<-1<<endl; }else{ cout<<0<<endl; } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/