티스토리 뷰

백준

[ BOJ 2858 ] 기숙사 바닥

dasu 2020. 8. 17. 14:41

http://icpc.me/2858

문제

가장자리에 까는 빨간색 타일 R, 가장자리가 아닌 곳에 까는 갈색 타일 B를 준다.
이 때, 방의 크기를 맞추어라

풀이

간단한 수학문제이다.
$N\times M$의 타일을 생각해보자.
그러면, 가로와 세로가 만나는 총 4개의 지점은 겹치게 된다.
즉, $2\times(N+M)-4$가 되는 것이다.
이가 빨간색 타일의 개수이다.
또한 타일을 안 쓰는 부분이 없으므로 R+B하면 총 면적이 된다. 이는 $N\times M$

이로써 우리는 $N+M=\frac{R+4}{2}$, $L\times M=R+B$를 얻을 수 있다.
$R\leq5000$이므로 반복문을 돌리면서 $L$과 $M$을 찾아주면 된다.


코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int r,b;
    scanf("%d %d",&r,&b);
    int p=(r+4)/2, q=r+b;
    for(int i=1;i<=p;i++)
    {
        int j=p-i;
        if(j*i==q) return !printf("%d %d",j,i);
    }
    return 0;
}
cs


'백준' 카테고리의 다른 글

[BOJ 2873] 롤러코스터  (0) 2022.07.19
[BOJ 2843] 마블  (0) 2022.07.18
[ BOJ 2075 ] N번째 큰 수  (0) 2020.08.17
BSIS Code Festival 대회 풀이  (2) 2018.08.13
[ BOJ 10974 ] 모든 순열  (0) 2018.07.23
댓글
최근에 올라온 글
공지사항
Total
Today
Yesterday
최근에 달린 댓글
링크
«   2024/05   »
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
글 보관함