๋ฌธ์
https://www.acmicpc.net/problem/1193
์ค๋ช
์ด ๋ฌธ์ ๋ ํฌ๊ฒ ์ด๋ ต์ง ์์์ผ๋ ํ๋ ๊ฑธ๋ฆฌ๋ ์ ์ด ์๋ค๋ฉด ์๊ฐ์ ํ์ด ์กฐ๊ธ ๋นก์ธ๊ฒ ๊ฑธ๋ ค์๋ ๊ฒ ๊ฐ๋ค๋ ๊ฒ์ด์๋ค. ๊ทธ๋๋ ๋คํํ๋ for๋ฌธ์ ์ฌ์ฉํ์ผ๋ ์๊ฐ์ ํ์ ๊ฑธ๋ฆฌ์ง๋ ์์์ ๋ง์๋ค. ๋ ์ผ๋จ n์ด๋ผ๋ ๋ณ์์ ์ฌ์ฉ์์๊ฒ ๋ช๋ฒ์จฐ ๋ถ์๋ฅผ ์ฐพ๋๊ฒ์ธ์ง ์ ๋ ฅ์ ๋ฐ์๊ณ , ์ ์ฌ์ง์ ๋ถ์ํ๋ ๋๊ฐ์ ์ผ๋ก ์ง๊ทธ์ฌ๊ทธ๋ก ์์๊ฐ ๋์ด์๊ธฐ๋๋ฌธ์ ํผ๋ผ๋ฏธ๋์ฒ๋ผ ๋จผ์ 1 ๋จ, 2 ๋จ โฆ ์ ๊ตฌ๋ณํด์ผํ ๊ฒ ๊ฐ์์ line์ด๋ผ๋ ๋ณ์์๋ ๋จ์, cut์ด๋ผ๋ ๋ณ์์๋ ๊ทธ ๋จ์ ๋ง์ง๋ง ์นธ์ด ๋ช๋ฒ์งธ ์์ธ์ง ์ ๊ฒ ํ์๋ค. ๋ tot ๋ณ์์๋ ๊ทธ ๋จ์ ๋ถ์ + ๋ถ๋ชจ์ ๊ฐ์ ๋ด์๋ค.(๋จ์ด ๊ฐ์ผ๋ฉด ๋ถ๋ชจ, ๋ถ์์ ๊ฐ๋ ์ผ์ ํ๋ฏ๋ก) ๊ทธ๋ฆฌ๊ณ ์ฐพ์ผ๋ ค๊ณ ํ๋ ๋ถ์๊ฐ ํด๋น ๋จ์ ๋ง์ง๋ง ๋ถ์์ ์ผ๋ง๋ ๋จ์ด์ ธ์๋์ง ๊ณ์ฐํ๊ณ ์๋ก์ ์ฐจ๋ฅผ ์ด์ฉํ์ฌ ๋ถ์๋ฅผ ๊ตฌํ๋๋ก ํ์๋ค. ๋ ์ง๊ทธ์ฌ๊ทธ๋ก ๋ด๋ ค๊ฐ๋ ๋ถ๋ถ์ line๋ณ์์ ๊ฐ์ด ํ์๋, ์ง์๋์ ๋ฐ๋ผ์ ์ ํด์ง๋๋ก ์กฐ๊ฑด๋ฌธ์ ๋ฃ์ด์ ํด๊ฒฐํ์๋ค.
์ฝ๋
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int n=0,cut=0,line=0,tot=0;
scanf("%d", &n);
for (line = 0; cut < n; line++)
cut += line;
line -= 1;
tot = line + 1;
//printf("%d", cut-n+1);
if(line%2==0)
printf("%d/%d", tot - (cut-n)-1, cut - n + 1);
else
printf("%d/%d", cut - n + 1, tot - (cut - n) - 1);
return 0;
}