SWEA

SWEA - 16910. 원안의 점 (c++)

Daekyue 2023. 11. 8. 23:12

[D3] 원 안의 점 - 16910

문제 링크

출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do

 

#include<bits/stdc++.h>

using namespace std;

int main(int argc, char** argv)
{
    int test_case;
    int T;
    cin >> T;
    for (test_case = 1; test_case <= T; ++test_case)
    {
        int num;
        cin >> num;
        int count = 0;
        for (int x = 0; x < num; x++)
        {
            for (int y = 1; y < num; y++)
            {
                if ((x * x) + (y * y) <= (num * num))
                    count++;
            }
        }
        cout << "#" << test_case << " ";
        cout << count * 4 + 5 << "\n";
    }
    return 0;//정상종료시 반드시 0을 리턴해야합니다.
}

다음 문제를 풀 때 문제에서 원점에서 라는 말이 있었기에 좌표를 사분면으로 나눠서 생각해서 풀면 쉽겠다고 생각했다.

코드는 1사분면 위의 좌표들만 계산하여 *4를 해주었고 +5는 원점(0,0)과 (0, n), (0, -n), (n,0), (-n,0)이다.