๋ฌธ์ ์ค๋ช
๋ ์ผ ๋ก๋๋ {1, 2, ..., 49}์์ ์ 6๊ฐ๋ฅผ ๊ณ ๋ฅธ๋ค.
๋ก๋ ๋ฒํธ๋ฅผ ์ ํํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ฐ์ฅ ์ ๋ช ํ ์ ๋ต์ 49๊ฐ์ง ์ ์ค k(k>6)๊ฐ์ ์๋ฅผ ๊ณจ๋ผ ์งํฉ S๋ฅผ ๋ง๋ ๋ค์ ๊ทธ ์๋ง ๊ฐ์ง๊ณ ๋ฒํธ๋ฅผ ์ ํํ๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด, k=8, S={1,2,3,5,8,13,21,34}์ธ ๊ฒฝ์ฐ ์ด ์งํฉ S์์ ์๋ฅผ ๊ณ ๋ฅผ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ์ด 28๊ฐ์ง์ด๋ค. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34])
์งํฉ S์ k๊ฐ ์ฃผ์ด์ก์ ๋, ์๋ฅผ ๊ณ ๋ฅด๋ ๋ชจ๋ ๋ฐฉ๋ฒ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋ฌธ์ ์ฃผ์: https://www.acmicpc.net/problem/6603
๋ฌธ์ ํ์ด
k๊ฐ์ ์์๋ฅผ ๊ฐ๋ ์งํฉ S์์ 6๊ฐ์ ์์๋ฅผ ๊ณ ๋ฅด๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ฉด ๋๋ค. ์กฐํฉ(n๊ฐ์ ์์ ์ค k๊ฐ์ ์์๋ฅผ ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ)์ ์ด์ฉํ๋ฉด ๋๋๋ฐ ์กฐํฉ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ์๋ ๋งํฌ๋ก ๋ค์ด๊ฐ๋ฉด ํ์ธ ํ ์ ์๋ค.
https://mjmjmj98.tistory.com/38
์์ค์ฝ๋
// ๋ฐฑ์ค 6603: ๋ก๋
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int k;
vector<int> s(14);
int main() {
while (true) {
cin >> k;
if (k == 0) // ์
๋ ฅ ์ข
๋ฃ
break;
// ๋ฐฐ์ด s ์ด๊ธฐํ, ์กฐํฉ ํ์์ ์ฌ์ฉํ v ์ด๊ธฐํ
for (int i = 0; i < k; ++i)
cin >> s[i];
vector<int> v(6, 1);
for (int i = 0; i < k - 6; ++i)
v.push_back(0);
// ๋ชจ๋ ์กฐํฉ ํ์
do {
for (int i = 0; i < v.size(); ++i)
if (v[i] == 1)
cout << s[i] << ' ';
cout << endl;
} while (prev_permutation(v.begin(), v.end()));
cout << endl;
}
return 0;
}
|
cs |
๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ์์ ํ ๋ถ๋ถ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค :)
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค BOJ / C++] 11399๋ฒ: ATM (0) | 2020.12.28 |
---|---|
[๋ฐฑ์ค BOJ / C++] 11047๋ฒ: ๋์ 0 (0) | 2020.12.28 |
[๋ฐฑ์ค BOJ / C++] 5585๋ฒ: ๊ฑฐ์ค๋ฆ๋ ํ์ด (0) | 2020.12.28 |
[๋ฐฑ์ค / C++] 10989๋ฒ: ์ ์ ๋ ฌํ๊ธฐ 3 ํ์ด (0) | 2020.07.21 |
[๋ฐฑ์ค / C++] 1431๋ฒ: ์๋ฆฌ์ผ ๋ฒํธ ํ์ด (0) | 2020.07.21 |