AOJ 0107 Carry a Cheese
概要
立方体の縦、横、高さの長さが与えられる。
この立方体を半径rの円に接さないように通すことができるか。
解法
立方体の面の対角線が一番小さくなるように向けたとき、
対角線 / 2 が r より小さくなるなら接さない。
コード
#include <iostream> #include <algorithm> using namespace std; int main() { int x, y, h, n, r; while (1) { cin >> x >> y >> h; if (x == 0 && y == 0 && h == 0) break; int dia = min(min(x * x + y * y, x * x + h * h), y * y + h * h); cin >> n; for (int i = 0; i < n; i++) { cin >> r; cout << ((dia < r*r*4) ? "OK" : "NA") << endl; } } return 0; }