BOJ 1193번 분수찾기 문제
배열을 45도 회전시키면 아래와 같이 나온다.
1/1
1/2 2/1
3/1 2/2 1/3
1/4 2/3 3/2 4/1
5/1 4/2 3/3 2/4 1/5
1/6 2/5 3/4 4/3 5/2 6/1
분자 분모의 합이 1행에서 2, 2행에서 3, 3행에서 4, 4행에서 5..가 되고,
홀수행은 합-1부터 시작해서 1씩 감소한다.
짝수행은 1부터 시작해서 합-1까지 증가한다.
1193.cpp
#include <bits/stdc++.h>
#define MAX_ 10000
using namespace std;
int main() {
int n;
cin >> n;
int i = 1;
int s = 0;
while (true) {
if (n - i <= 0) {
break;
}
n -= i;
i++;
s++;
}
if (s % 2 == 0) {
cout << s + 2 - n << "/" << n;
} else {
cout << n << "/" << s + 2 - n;
}
}
'알고리즘 & SQL > 백준(BOJ)' 카테고리의 다른 글
백준 10539번 : 수빈이와 수열 C++ (0) | 2019.01.15 |
---|---|
백준 2953번 : 나는 요리사다 C++ (0) | 2019.01.15 |
백준 9414번 : 프로그래밍 대회 전용 부지 C++ (0) | 2018.12.25 |
백준 2872번 : 우리집엔 도서관이 있어 C++ (0) | 2018.12.15 |
백준 2752번 : 세수정렬 C++ (0) | 2018.12.01 |