題目: UVa - 11498 - Division of Nlogonia

題目說明

給一個參考點及一些座標,以參考點為原點,求其他座標位於參考點的哪個方向 ( 東北、西北、東南、西南 ),若座標位於 x 軸或 y 軸上則輸出 "divisa"

Input: 每組測資第一個整數 T,表示有 T 個點,若 T 為 0 表示結束。接下來兩個整數 N、M 表參考點的座標,後面 T 行,每行兩個數字,為要求方向的座標。

Output: 輸出座標相對於參考點的方向。

解題思路

讀取測資並根據題目要求判斷即可。

參考解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <bits/stdc++.h>

using namespace std;

static auto __ = []
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
return 0;
}();

int main()
{
int T, N, M, x, y;

while (cin >> T && T)
{
cin >> N >> M;

while (T--)
{
cin >> x >> y;

if (x == N || y == M) cout << "divisa\n";
else if (x > N && y > M) cout << "NE\n";
else if (x > N && y < M) cout << "SE\n";
else if (x < N && y > M) cout << "NO\n";
else cout << "SO\n";
}
}
}