Algorithm/C++ BOJ
C++) [BOJ] 9610 사분면
HSH12345
2023. 3. 15. 23:41
9610번: 사분면
2차원 좌표 상의 여러 점의 좌표 (x,y)가 주어졌을 때, 각 사분면과 축에 점이 몇 개 있는지 구하는 프로그램을 작성하시오.
www.acmicpc.net
#include<iostream>;
#include<map>;
using namespace std;
int main() {
int n, a, b;
cin >> n;
map<string, int> m;
m.insert(pair<string, int>("Q1: ", 0));
m.insert(pair<string, int>("Q2: ", 0));
m.insert(pair<string, int>("Q3: ", 0));
m.insert(pair<string, int>("Q4: ", 0));
m.insert(pair<string, int>("AXIS: ", 0));
for (int i = 0; i < n; i++) {
cin >> a >> b;
if (a == 0 || b == 0) m["AXIS: "]++;
else if (a > 0 && b > 0) m["Q1: "]++;
else if (a > 0 && b < 0) m["Q4: "]++;
else if (a < 0 && b > 0) m["Q2: "]++;
else if (a < 0 && b < 0) m["Q3: "]++;
}
for (auto iter = m.begin(); iter != m.end(); iter++)
{
if(iter -> first != "AXIS: ") cout << iter->first << iter->second << "\n";
}
cout << m.begin() -> first << m.begin() -> second << "\n";
}
쉬운 문제였지만 map의 기능을 활용하여 해당 기능을 연습하였다.