hint

À§ÀÇ ¹®Á¦¸¦ º¸°í "¾î? ¼Ò¼ö¸¦ ÀüºÎ ±¸Çؼ­ µé¾î°£´Ù ¾Èµé¾î°£´Ù·Î ó¸®ÇÏ¸é µÇ´Â°Å ¾Æ´Ñ°¡?" ¶ó°í »ý°¢ÇÏ´Â ºÐµéÀÌ ÀÖ´Ù¸é, À§ÀÇ ¹®Á¦´Â ½Ã°£ÃÊ°ú°¡ ³¯ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.

1ºÎÅÍ 10000±îÁöÀÇ ¼Ò¼öÀÇ °³¼ö : 1229°³

µé¾î°¡°Å³ª ¾Èµé¾î°¡°Å³ª¸¦ 1229°³¸¦ ÀüºÎ ÇÏ·Á ÇÑ´Ù¸é, 2^1229°³¸¸Å­ÀÇ ÇÁ·Î±×·¥ÀÌ µ¹¾Æ°¡°Ô µÇ¾î ¾îµð¿¡¼­µç ½Ã°£ÃÊ°ú°¡ ³¯ ¼ö¹Û¿¡ ¾ø½À´Ï´Ù.

±×·³ ÀÌ·± ¹®Á¦´Â ¾î¶»°Ô Á¢±ÙÇؾßÇÒ±î¿ä?

Á¤´äÀº, ´ÙÀ̳ª¹Í ÇÁ·Î±×·¡¹Ö ( µ¿Àû °èȹ¹ý ) ÀÔ´Ï´Ù.

ÀÔÃâ·Â ¿¹Á¦ÀÎ 20À» º¸¸é,

3 17
7 13
2 5 13
2 7 11

À¸·Î 4°¡Áö°¡ ³ª¿À°Ô µÇ´Âµ¥, ´ÙÀ½°ú °°ÀÌ º¸¸é ¾î¶³±î¿ä?

D[i] = iº¸´Ù À۰ųª °°Àº ¼Ò¼öµéÀÇ ÇÕÀ¸·Î i¸¦ ¸¸µå´Â ¹æ¹ýÀÇ ¼ö

À§ÀÇ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀÌ Á¶±Ý ¶°¿À¸£½Ã³ª¿ä? ½±°Ô ¾È¶°¿À¸£´Â ºÐµéÀº ¾Æ·¡ÀÇ ½ÄÀ» º¸½Ã¸é¼­ ÀÌÇØÇϽøé ÁÁ½À´Ï´Ù.

ÀÌ·¸°Ô Çؼ­ D[20]ÀÌ 4°¡ÁöÀÎ °ÍÀ» ¼öÇÐÀûÀÌ°í, È¿À²ÀûÀÎ ¹æ¹ýÀ¸·Î ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
Á¡È­½Ä : dp[j] = dp[j] + dp[ j - prime[i] ]

**ÇÙ½É ¼Ò½º

for(i=0 ; i < total_prime ; i++)
{
    for(j=n ; j>=0 ; j--)
    {
        dp[j] = dp[j] + dp[ j - prime[i] ] ;
    }
}

// n±îÁöÀÇ ¼Ò¼öÀÇ °³¼ö : total_prime
// prime[i] = i¹ø° ¼Ò¼ö

½Ã°£º¹Àâµµ : O(N^2)
   
** Á¡È­½ÄÀº ¹Ýµå½Ã Çϳª°¡ ¾Æ´Õ´Ï´Ù. »ý°¢Çϱ⿡ µû¶ó¼± ÀÌÂ÷¿ø ¹è¿­ÀÌ µÉ ¼ö ÀÖ°í, Á¡È­½ÄÀ» ´Ù¸£°Ô »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Ãâó:pl0892029

[ȨÀ¸·Î]  [µÚ ·Î]