HDU FATE £¨ÍêÈ«±³°ü+ÓÐÏÞÈ¡´Î£©£¨¶þÖØ·ÑÓñ³°ü£©

2014-11-24 13:11:06 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 7

FATE


Problem Description ×î½üxhdÕýÔÚÍæÒ»¿î½Ð×öFATEµÄÓÎÏ·£¬ÎªÁ˵õ½¼«Æ·×°±¸£¬xhdÔÚ²»Í£µÄɱ¹Ö×öÈÎÎñ¡£¾Ã¶ø¾ÃÖ®xhd¿ªÊ¼¶Ôɱ¹Ö²úÉúµÄÑá¶ñ¸Ð£¬µ«ÓÖ²»µÃ²»Í¨¹ýɱ¹ÖÀ´ÉýÍêÕâ×îºóÒ»¼¶¡£ÏÖÔÚµÄÎÊÌâÊÇ£¬xhdÉýµô×îºóÒ»¼¶»¹ÐènµÄ¾­ÑéÖµ£¬xhd»¹ÁôÓÐmµÄÈÌÄͶȣ¬Ã¿É±Ò»¸ö¹Öxhd»áµÃµ½ÏàÓ¦µÄ¾­Ñ飬²¢¼õµôÏàÓ¦µÄÈÌÄͶȡ£µ±ÈÌÄͶȽµµ½0»òÕß0ÒÔÏÂʱ£¬xhd¾Í²»»áÍæÕâÓÎÏ·¡£xhd»¹ËµÁËËû×î¶àֻɱsÖ»¹Ö¡£ÇëÎÊËûÄÜÉýµôÕâ×îºóÒ»¼¶Âð£¿


Input ÊäÈëÊý¾ÝÓжà×飬¶ÔÓÚÿ×éÊý¾ÝµÚÒ»ÐÐÊäÈën£¬m£¬k£¬s(0 < n,m,k,s < 100)ËĸöÕýÕûÊý¡£·Ö±ð±íʾ»¹ÐèµÄ¾­ÑéÖµ£¬±£ÁôµÄÈÌÄͶȣ¬¹ÖµÄÖÖÊýºÍ×î¶àµÄɱ¹ÖÊý¡£½ÓÏÂÀ´ÊäÈëkÐÐÊý¾Ý¡£Ã¿ÐÐÊý¾ÝÊäÈëÁ½¸öÕýÕûÊýa£¬b(0 < a,b < 20)£»·Ö±ð±íʾɱµôÒ»Ö»ÕâÖÖ¹Öxhd»áµÃµ½µÄ¾­ÑéÖµºÍ»á¼õµôµÄÈÌÄͶȡ£(ÿÖÖ¹Ö¶¼ÓÐÎÞÊý¸ö)


Output Êä³öÉýÍêÕâ¼¶»¹Äܱ£ÁôµÄ×î´óÈÌÄͶȣ¬Èç¹ûÎÞ·¨ÉýÍêÕâ¼¶Êä³ö-1¡£


Sample Input
10 10 1 10
1 1
10 10 1 9
1 1
9 10 2 10
1 1
2 2


Sample Output
0
-1
1
********************************************************************************************************** ½â·¨Ò»£ºÍêÈ«±³°ü ********************************
#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         #define INF 0x3f3f3f3f #define maxn 100+10 using namespace std; int cost[maxn],val[maxn],cnt[maxn]; int dp[maxn]; int n,m,k,s; void completepack() { memset(cnt,0,sizeof cnt); memset(dp,0,sizeof(dp)); for(int i=1;i<=k;i++) for(int j=cost[i];j<=m;j++) { if(dp[j]
        
         =n&&cnt[i]<=s) { printf("%d\n",m-i); ok=0; break; } } if(ok) printf("-1\n"); } return 0; } 
        
       
      
     
    
   
  
********************************************************************************************************** ½â·¨Ò»£º¶þÖØ·ÑÓñ³°ü ********************************

´úÂëºóÐø-----------