Dev.Beth
๐Ÿ๐Ÿ’ป๐Ÿ
Dev.Beth
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (175)
    • ๐Ÿค” PS(Problem Solving) (119)
      • ๋ฐฑ์ค€(BOJ) (59)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (47)
      • Leet, ๊ตฌ๋ฆ„ (6)
      • ์ฝ”ํ…Œ (7)
    • ๐Ÿ› ๏ธ ํˆด, ๊ทธ์™ธ (10)
    • ๐Ÿ•ท๏ธ ์—๋Ÿฌ, ๋ฒ„๊ทธ (15)
    • โœ๏ธ ์ด๋ก  (30)
      • ์ด๋ก , ์„ค๊ณ„ (3)
      • ๋””์ž์ธํŒจํ„ด (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ (13)
      • ๋„คํŠธ์›Œํฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (11)
      • ๊ฐœ๋ฐœ์„œ (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • WRITE
  • ADMIN

๊ณต์ง€์‚ฌํ•ญ

  • ๐Ÿต PS challenge

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • 2294 ๋ฐฑ์ค€ c++
  • ๊ฐค๋Ÿญ์‹œ ๊ฒ€์€ํ™”๋ฉด
  • Retrofit ํ•œ๊ธ€๊นจ์ง
  • boj 1509 c++
  • 2293 c++
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋„คํŠธ์›Œํฌ java
  • 2293
  • ๋ฐฑ์ค€ 2293
  • c++ 2294
  • ๋ฐฑ์ค€ c++
  • 2294 c++
  • 2294
  • ๋ฐฑ์ค€ 2294 c++
  • 1509 c++
  • 1520 c++
  • boj 2293
  • Retrofit Post ํ•œ๊ธ€
  • ๋ฐฑ์ค€ 2294
  • ๊ฐค๋Ÿญ์‹œ ๋ฉˆ์ถค
  • ์‚ผ์„ฑ ํ™”๋ฉด ๋ฉˆ์ถค
  • ๊ฐค๋Ÿญ์‹œ ์žฌ๋ถ€ํŒ…
  • ๋ฐฑ์ค€
  • ๋ฐฑ์ค€ 2240
  • ๋ฐฑ์ค€ c++ 2293
  • Retrofit ํ•œ๊ธ€ ๊นจ์ง
  • ๋ฐฑ์ค€ 1520 c++
  • ๊ฐค๋Ÿญ์‹œ ๋ฆฌ๋ถ€ํŒ…
  • ๊ฐค๋Ÿญ์‹œ ๊ฒ€์€ํ™”๋ฉด ์žฌ๋ถ€ํŒ…
  • ๊ฐค๋Ÿญ์‹œ ๊ฐ•์ œ ์žฌ๋ถ€ํŒ…
  • ๋ฐฑ์ค€ 1509 c++

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Dev.Beth

๐Ÿ๐Ÿ’ป๐Ÿ

๐Ÿค” PS(Problem Solving)/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€] 10844๋ฒˆ - ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜

2019. 7. 5. 17:36
๋ฐ˜์‘ํ˜•

์ฒ˜์Œ์—” ๋ฌธ์ œ๊ฐ€ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์„œ ๋‹จ์ˆœํžˆ 1-9,2-17,3-32, 4-54 ์˜ ์ˆ˜์—ด ๊ทœ์น™์„ ์ด์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ž˜๋ชป๋œ ์ ‘๊ทผ์ด์—ˆ๋‹ค.

~n์ผ๋•Œ๊นŒ์ง€ i๋ฒˆ์งธ ์ธ๋ฑ์Šค์—์„œ ๋งŒ๋“ค์ˆ˜ ์žˆ๋Š” ๊ณ„๋‹จ์ˆ˜๊ฐฏ์ˆ˜๊ฐ€ ๋ช‡๊ฐœ์ธ์ง€๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์ ํ™”์‹์„ ๋งŒ๋“ค์–ด์•ผ ํ–ˆ๋‹ค.


 ๋ฌธ์ œ


๋ฌธ์ œ

45656์ด๋ž€ ์ˆ˜๋ฅผ ๋ณด์ž.

์ด ์ˆ˜๋Š” ์ธ์ ‘ํ•œ ๋ชจ๋“  ์ž๋ฆฌ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ 1์ด ๋‚œ๋‹ค. ์ด๋Ÿฐ ์ˆ˜๋ฅผ ๊ณ„๋‹จ ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.

์„ธ์ค€์ด๋Š” ์ˆ˜์˜ ๊ธธ์ด๊ฐ€ N์ธ ๊ณ„๋‹จ ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.

N์ด ์ฃผ์–ด์งˆ ๋•Œ, ๊ธธ์ด๊ฐ€ N์ธ ๊ณ„๋‹จ ์ˆ˜๊ฐ€ ์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. (0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ˆ˜๋Š” ์—†๋‹ค.)


์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.


์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ 1,000,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.


์˜ˆ์ œ์ž…๋ ฅ -> ์ถœ๋ ฅ

1 -> 9

2 -> 17


 ํ’€์ด๊ณผ์ •


(1)๊ทœ์น™

  • DP์ด๋ฏ€๋กœ ์ ํ™”์‹์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค
  • ์ฒซ์งธ์ž๋ฆฌ์˜ ์ˆ˜๋Š” 1~9
  • ๋‘˜์งธ์ž๋ฆฌ ์ˆ˜๊ฐ€ 0์ด๋ฉด ๋‹ค์Œ์ˆ˜๋Š” 1๋งŒ ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • 9์ผ ๊ฒฝ์šฐ์—” ๋‹ค์Œ์ˆ˜๋Š” 8๋งŒ ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๊ทธ์™ธ์˜ ์ˆ˜ ๋ฉด ๋‹ค์Œ์ˆ˜๋Š” n-1,n+1์ด ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • N์ž๋ฆฌ์˜ ๊ณ„๋‹จ์ˆ˜๋Š”, N์ž๋ฆฌ ์ˆ˜ ์ผ๋•Œ ๊ฐ ์ˆซ์ž 0~9๊ฐ€ ์˜ฌ์ˆ˜ ์žˆ๋Š” ์ˆ˜์˜ ์ดํ•ฉ์ž…๋‹ˆ๋‹ค

(2)์ˆœ์„œ


n=3๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋ด…๋‹ˆ๋‹ค.


 n=1

 1,2,3,4,5,6,7,8,9 (9๊ฐœ)

 n=2

 10,12,21,23,32,34,43,45,54,56,65,67,76,78,87,89,98 (17๊ฐœ)

 n=3

 101,121,123,212,234,232, .....(32๊ฐœ)  


๋ฐฐ์—ด์— ๋„ฃ์–ด์„œ ํ‘œํ˜„ํ•ด ๋ณด๋ฉด, i๋ฒˆ์งธ์ˆœ์œผ๋กœ ๋งŒ๋“ค์ˆ˜ ์žˆ๋Š” ์ˆซ์ž์˜ ๊ฐฏ์ˆ˜๋Š”


0 1 2 3 4 5 6 7 8 9

n=1         0 1 1 1 1 1 1 1 1 1 (9๊ฐœ)

n=2         1 1 2 2 2 2 2 2 2 1 (17๊ฐœ)

n=3         1 3 3 4 4 4 4 4 3 2 (32๊ฐœ)


์ด๋ฏ€๋กœ,

n=m ์ผ ๊ฒฝ์šฐ

0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” d[m-1][1]

9๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” d[m-1][8]์ด๊ณ 

๋‚˜๋จธ์ง€์˜ ์ธ๋ฑ์Šค๋Š” ๊ฐ d[m-1][ํ˜„์žฌ์ธ๋ฑ์Šค-1] + d[m-1][ํ˜„์žฌ์ธ๋ฑ์Šค+1] ์ž…๋‹ˆ๋‹ค.


๊ฐ ์ธ๋ฑ์Šค์— ๋งž๋Š” ์ž‘์—…์„ ํ•œ ๋’ค %=1000000000๋ฅผ ํ•ด์ฃผ๊ณ 

๊ฐ ํ•ฉ๋„ %1000000000 ํ•ด์ฃผ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค(๊ฐ ์ธ๋ฑ์Šค์˜ ํ•ฉ์ด 1000000000๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•ด)


(3)์ฝ”๋“œ


#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int N;
    cin >> N;
    vector<vector<int>> memo(N, vector<int>(10, 0));
    memo[0] = {0,1,1,1,1,1,1,1,1,1};//N์ด 1์ผ๊ฒฝ์šฐ
    for (int n = 1; n < N ; n++)
    {
        for (int i = 0; i < 10; i++)
        {
            if (i == 0)
                memo[n][i] = memo[n - 1][1];
            else if (i == 9)
                memo[n][i] = memo[n - 1][8];
            else
                memo[n][i] = memo[n - 1][i - 1] + memo[n - 1][i + 1];
            memo[n][i] %= 1000000000;
        }
    }
 
    int sum = 0;
    for (int j = 0; j < 10; j++)
    {
        sum += memo[N - 1][j];
        sum %= 1000000000;
    }
    cout <<  sum << endl;
    return 0;
}
Colored by Color Scripter
cs


๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿค” PS(Problem Solving) > ๋ฐฑ์ค€(BOJ)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 2193๋ฒˆ - ์ด์นœ์ˆ˜  (0) 2019.07.07
[๋ฐฑ์ค€] 11057๋ฒˆ - ์˜ค๋ฅด๋ง‰ ์ˆ˜  (0) 2019.07.07
[๋ฐฑ์ค€] 9095๋ฒˆ - 1, 2, 3 ๋”ํ•˜๊ธฐ  (0) 2019.07.03
[๋ฐฑ์ค€] 11727๋ฒˆ - 2ร—n ํƒ€์ผ๋ง2  (0) 2019.07.01
[๋ฐฑ์ค€] 11726๋ฒˆ - 2ร—n ํƒ€์ผ๋ง  (0) 2019.07.01
    '๐Ÿค” PS(Problem Solving)/๋ฐฑ์ค€(BOJ)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋ฐฑ์ค€] 2193๋ฒˆ - ์ด์นœ์ˆ˜
    • [๋ฐฑ์ค€] 11057๋ฒˆ - ์˜ค๋ฅด๋ง‰ ์ˆ˜
    • [๋ฐฑ์ค€] 9095๋ฒˆ - 1, 2, 3 ๋”ํ•˜๊ธฐ
    • [๋ฐฑ์ค€] 11727๋ฒˆ - 2×n ํƒ€์ผ๋ง2
    Dev.Beth
    Dev.Beth
    Beth์˜ ๊ณต๋ถ€ ๋ธ”๋กœ๊ทธ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”