백준/실버

[백준 13909번] 창문 닫기 (C++)

게임개발기원 2025. 3. 30. 19:14

문제링크 : https://www.acmicpc.net/problem/13909

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int N;
int main(void)
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin >> N;

    cout << sqrt(N);

    return 0;
}

 

직접 경우의 수를 체크해보면 규칙이 보인다.

n=3 -> 1
1 1 1
1 0 1
1 0 0

n=4 -> 2
1 1 1 1
1 0 1 0
1 0 0 0
1 0 0 1

n=5 -> 2
1 1 1 1 1
1 0 1 0 1
1 0 0 0 1
1 0 0 1 1
1 0 0 1 0

n=6 -> 2
1 1 1 1 1 1
1 0 1 0 1 0
1 0 0 0 1 1
1 0 0 1 1 1
1 0 0 1 0 1
1 0 0 1 0 0

n=7 -> 2
1 1 1 1 1 1 1 
1 0 1 0 1 0 1
1 0 0 0 1 1 1
1 0 0 1 1 1 1
1 0 0 1 0 1 1
1 0 0 1 0 0 1
1 0 0 1 0 0 0

n=8 -> 2
1 1 1 1 1 1 1 1
1 0 1 0 1 0 1 0
1 0 0 0 1 1 1 0
1 0 0 1 1 1 1 1
1 0 0 1 0 1 1 1
1 0 0 1 0 0 1 1
1 0 0 1 0 0 0 1
1 0 0 1 0 0 0 0


n=9 -> 3
1 1 1 1 1 1 1 1 1
1 0 1 0 1 0 1 0 1
1 0 0 0 1 1 1 0 0
1 0 0 1 1 1 1 1 0
1 0 0 1 0 1 1 1 0
1 0 0 1 0 0 1 1 0
1 0 0 1 0 0 0 1 0
1 0 0 1 0 0 0 0 0
1 0 0 1 0 0 0 0 1

 

이처럼 n의 제곱근이 정답이 되는 것을 볼 수 있다.