ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [๋ฐฑ์ค€(BOJ) 11729๋ฒˆ] ํ•˜๋…ธ์ด ํƒ‘ ์ด๋™ ์ˆœ์„œ (C++)
    PS(Problem Solving)/C++ 2022. 1. 31. 14:42
    ๋ฐ˜์‘ํ˜•

    ๋ฌธ์ œ ๋งํฌ

    https://www.acmicpc.net/problem/11729

     

    ๋ฌธ์ œ ์ •๋ณด

    ์ž…๋ ฅ

    ์ฒซ์งธ ์ค„์— ์ฒซ ๋ฒˆ์งธ ์žฅ๋Œ€์— ์Œ“์ธ ์›ํŒ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 20)์ด ์ฃผ์–ด์ง„๋‹ค.

    ์ถœ๋ ฅ

    ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ ์ˆ˜ํ–‰ ๊ณผ์ •์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ K๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋‘ ์ •์ˆ˜ A B๋ฅผ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ถœ๋ ฅํ•˜๋Š”๋ฐ, ์ด๋Š” A๋ฒˆ์งธ ํƒ‘์˜ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์›ํŒ์„ B๋ฒˆ์งธ ํƒ‘์˜ ๊ฐ€์žฅ ์œ„๋กœ ์˜ฎ๊ธด๋‹ค๋Š” ๋œป์ด๋‹ค.

     

    ํ’€์ด

     ์žฌ๊ท€๋ฅผ ์ด์šฉํ•ด์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์žฌ๊ท€๋ฅผ ๊ณต๋ถ€ํ•  ๋•Œ ๊ท€๋‚ฉ์  ์‚ฌ๊ณ ๋ฅผ ํ†ตํ•ด์„œ ํ•ด๊ฒฐํ•˜๋ผ๋Š” ๋ง์ด ์žˆ๋‹ค. n-1๊ฐœ์˜ ์›ํŒ์„ 2๋ฒˆ ์œผ๋กœ ๋ชจ๋‘ ์˜ฎ๊ธด ํ›„, n๋ฒˆ ์›ํŒ์„ 3๋ฒˆ์œผ๋กœ ์˜ฎ๊ธฐ๊ณ , 2๋ฒˆ์œผ๋กœ ์˜ฎ๊ฒผ๋˜ n-1๊ฐœ์˜ ์›ํŒ์„ 3๋ฒˆ์œผ๋กœ ์˜ฎ๊ธฐ๋ฉด ๋œ๋‹ค.

     

    ์†Œ์Šค ์ฝ”๋“œ

    #include <bits/stdc++.h>
    using namespace std;
    
    void func(int a, int b, int n) {
    	if (n == 1) {
    		cout << a << ' ' << b << '\n';
    		return;
    	}
    	
    	func(a, 6 - a - b, n - 1); // n - 1๊ฐœ ์›ํŒ์„ ๊ธฐ๋‘ฅ 1์—์„œ ๊ธฐ๋‘ฅ 2๋กœ ์˜ฎ๊ธฐ์ž.
    	cout << a << ' ' << b << '\n'; // n๋ฒˆ ์›ํŒ์„ ๊ธฐ๋‘ฅ 1์—์„œ ๊ธฐ๋‘ฅ 3์œผ๋กœ ์˜ฎ๊ธฐ์ž.
    	func(6 - a - b, b, n - 1); // n -1๊ฐœ ์›ํŒ์„ ๊ธฐ๋‘ฅ 2์—์„œ ๊ธฐ๋‘ฅ 3์œผ๋กœ ์˜ฎ๊ธฐ์ž.
    }
    
    int main(void) {
    	ios::sync_with_stdio(0);
    	cin.tie(0);
    	
    	int n;
    	cin >> n;
    	
    	cout << (1 << n) - 1 << '\n'; // 2^n - 1
    	func(1, 3, n);
    	
    	return 0;
    }

     

    ๋ฐ˜์‘ํ˜•
Designed by Tistory.