์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- db
- BFS
- DP
- SQL
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- ๊ทธ๋ํ
- ๊น์ด์ฐ์ ํ์
- ์ํ
- ์ ๋ ฌ
- ๋จธ์ง์ํธ
- ๋๋น์ฐ์ ํ์
- ๋์ ํฉ
- LIS
- ๊ทธ๋ํํ์
- ํ์ด์ฌ
- ๊ทธ๋ฆฌ๋
- ๋ณํฉ์ ๋ ฌ
- ๋์ ๊ณํ๋ฒ
- ์ค๋ธ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- DFS
- ์์ํ์
- ๋ฐฑ์ค
- ์์๊ตฌํ๊ธฐ
- ์ฐ์ ์์ํ
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฃ๊ตฌ์กฐ
- ๊ตฌํ
- ํ๋ก๊ทธ๋๋จธ์ค
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
๐๐ญ๐ฐ๐ธ ๐ฃ๐ถ๐ต ๐ด๐ต๐ฆ๐ข๐ฅ๐บ
[๋ฐฑ์ค] 2302๋ฒ: ๊ทน์ฅ ์ข์ - C++ ๋ณธ๋ฌธ
๋ฌธ์
์ด๋ค ๊ทน์ฅ์ ์ข์์ ํ ์ค๋ก ๋์ด ์์ผ๋ฉฐ ์ผ์ชฝ๋ถํฐ ์ฐจ๋ก๋๋ก 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋ค. ๊ณต์ฐ์ ๋ณด๋ฌ ์จ ์ฌ๋๋ค์ ์๊ธฐ์ ์ ์ฅ๊ถ์ ํ์๋์ด ์๋ ์ข์์ ์์์ผ ํ๋ค. ์๋ฅผ ๋ค์ด์, ์ ์ฅ๊ถ์ 5๋ฒ์ด ์ฐ์ฌ ์์ผ๋ฉด 5๋ฒ ์ข์์ ์์์ผ ํ๋ค. ๋จ, ์๊ธฐ์ ๋ฐ๋ก ์ผ์ชฝ ์ข์ ๋๋ ๋ฐ๋ก ์ค๋ฅธ์ชฝ ์ข์์ผ๋ก๋ ์๋ฆฌ๋ฅผ ์ฎ๊ธธ ์ ์๋ค. ์๋ฅผ ๋ค์ด์, 7๋ฒ ์ ์ฅ๊ถ์ ๊ฐ์ง ์ฌ๋์ 7๋ฒ ์ข์์ ๋ฌผ๋ก ์ด๊ณ , 6๋ฒ ์ข์์ด๋ 8๋ฒ ์ข์์๋ ์์ ์ ์๋ค. ๊ทธ๋ฌ๋ 5๋ฒ ์ข์์ด๋ 9๋ฒ ์ข์์๋ ์์ ์ ์๋ค.
๊ทธ๋ฐ๋ฐ ์ด ๊ทน์ฅ์๋ “VIP ํ์”๋ค์ด ์๋ค. ์ด ์ฌ๋๋ค์ ๋ฐ๋์ ์๊ธฐ ์ข์์๋ง ์์์ผ ํ๋ฉฐ ์ ์ข์์ผ๋ก ์๋ฆฌ๋ฅผ ์ฎ๊ธธ ์ ์๋ค.
์ค๋ ๊ณต์ฐ์ ์ ์ฅ๊ถ์ด ๋งค์ง๋์ด 1๋ฒ ์ข์๋ถํฐ N๋ฒ ์ข์๊น์ง ๋ชจ๋ ์ข์์ด ๋ค ํ๋ ธ๋ค. VIP ํ์๋ค์ ์ข์ ๋ฒํธ๋ค์ด ์ฃผ์ด์ก์ ๋, ์ฌ๋๋ค์ด ์ข์์ ์๋ ์๋ก ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ฐ์ง์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ฅผ ๋ค์ด์, ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ข์์ด 9๊ฐ์ด๊ณ , 4๋ฒ ์ข์๊ณผ 7๋ฒ ์ข์์ด VIP์์ธ ๊ฒฝ์ฐ์ <123456789>๋ ๋ฌผ๋ก ๊ฐ๋ฅํ ๋ฐฐ์น์ด๋ค. ๋ํ <213465789> ์ <132465798> ๋ ๊ฐ๋ฅํ ๋ฐฐ์น์ด๋ค. ๊ทธ๋ฌ๋ <312456789> ์ <123546789> ๋ ํ์ฉ๋์ง ์๋ ๋ฐฐ์น ๋ฐฉ๋ฒ์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์๋ ์ข์์ ๊ฐ์ N์ด ์ ๋ ฅ๋๋ค. N์ 1 ์ด์ 40 ์ดํ์ด๋ค. ๋์งธ ์ค์๋ ๊ณ ์ ์์ ๊ฐ์ M์ด ์ ๋ ฅ๋๋ค. M์ 0 ์ด์ N ์ดํ์ด๋ค. ๋ค์ M ๊ฐ์ ์ค์๋ ๊ณ ์ ์์ ๋ฒํธ๊ฐ ์์ ์๋ถํฐ ํฐ ์์ ์์๋ก ํ ์ค์ ํ๋์ฉ ์ ๋ ฅ๋๋ค.
์ถ๋ ฅ
์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์ ์ฌ๋๋ค์ด ์ข์์ ์์ ์ ์๋ ๋ฐฉ๋ฒ์ ๊ฐ์ง์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ฐฉ๋ฒ์ ๊ฐ์ง์๋ 2,000,000,000์ ๋์ง ์๋๋ค. (2,000,000,000 < 231-1)
๋์ ๊ณํ๋ฒ์ ์ด์ฉํ์ฌ ํธ๋ ๋ฌธ์ .
๊ท์น์ ์ฐพ๋ค๋ณด๋ฉด ์ด ์ญ์ .. ํผ๋ณด๋์น ์์ด์ด๋ค.
VIP์์ด ์๋ค๊ณ ๊ฐ์ ํ์ ๋ ์ข์์ ์ฎ๊ธธ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ๋งจ ์์ ์ข์์ด [1] ์ผ๋, ํน์ 1์ด ์ด๋ํ์ฌ [2 1] ์ด ๋์์ ๋ ๋๊ฐ์ง๋ก ๋๋ ์ ์์ผ๋ฏ๋ก ์ด๋ฅผ ์์ผ๋ก ์์ฑํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
cinema[i] = cinema[i - 1] + cinema[i - 2]
N์ 40 ์ดํ์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฒฝ์ฐ์ ํผ๋ณด๋์น ์์ด์ ๋จผ์ ๊ตฌํด์ฃผ๊ณ , VIP์์ ํด๋นํ๋ ์ข์์ ์ ๋ ฅ๋ฐ์ผ๋ฉฐ ์ฐ์ฐ์ ์งํํ๋ค.
์ฝ๋
#include <cstdio>
#define MAX 41
int cinema[MAX];
int vip[MAX];
int main(void) {
int N, M;
scanf("%d %d", &N, &M);
cinema[0] = 1;
cinema[1] = 1;
for(int i = 2; i < MAX; i++) {
cinema[i] = cinema[i - 1] + cinema[i - 2];
}
int result = 1;
for(int i = 1; i <= M; i++) {
scanf("%d", &vip[i]);
result *= cinema[vip[i] - vip[i - 1] - 1];
}
result *= cinema[N - vip[M]];
printf("%d\n", result);
return 0;
}
'์ฝ๋ฉํ ์คํธ ์ค๋น > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1325๋ฒ: ํจ์จ์ ์ธ ํดํน - C++ (0) | 2022.08.17 |
---|---|
[๋ฐฑ์ค] 1309๋ฒ: ๋๋ฌผ์ - C++ (0) | 2022.07.26 |
[๋ฐฑ์ค] 1904: 01ํ์ผ - C++ (0) | 2022.07.15 |
[๋ฐฑ์ค] 2240๋ฒ: ์๋๋๋ฌด - C++ (0) | 2022.07.14 |
[๋ฐฑ์ค] 11047: ๋์ 0 - C++ (0) | 2022.07.12 |