HDU飯卡2546

電子科大本部食堂的飯卡有一種很詭異的設計,即在購買之前判斷余額。如果購買一個商品之前顷牌,卡上的剩余金額大于或等于5元展父,就一定可以購買成功(即使購買后卡上余額為負)返劲,否則無法購買(即使金額足夠)。所以大家都希望盡量使卡上的余額最少栖茉。
某天篮绿,食堂中有n種菜出售,每種菜可購買一次吕漂。已知每種菜的價格以及卡上的余額亲配,問最少可使卡上的余額為多少。

輸入格式:

多組數(shù)據(jù)惶凝。對于每組數(shù)據(jù):
第一行為正整數(shù)n吼虎,表示菜的數(shù)量。n<=1000苍鲜。
第二行包括n個正整數(shù)思灰,表示每種菜的價格。價格不超過50坡贺。
第三行包括一個正整數(shù)m官辈,表示卡上的余額箱舞。m<=1000。

n=0表示數(shù)據(jù)結束

輸出格式:

對于每組輸入,輸出一行,包含一個整數(shù)拳亿,表示卡上可能的最小余額晴股。

解法一:利用二進制,&運算生成子集肺魁,暴力破解

#include <iostream>
#include<math.h>
using namespace std;
const int MAX_RESULT=1001;
int main()
{
    int n,result,money,temp;
    while(cin>>n,n){
        int price[n];
        for (int i=0;i<n;i++)
        {
            cin>>price[i];
        }
        cin>>money;

        result=MAX_RESULT;

        for (int i=0;i<pow(2,n);i++)
        {
            temp=money;           //temp作為臨時變量存儲錢數(shù)电湘,每一種情況都要初始化
            for (int j=0;j<n;j++) //第i+1位,也就是第i個菜品
            {
                if((i&(1<<j))&&temp>=5)
                    temp-=price[j];
            }
            //cout<<result<<" ";
            if(result>temp)
                result=temp;

        }
        cout<<result<<endl;
    }
    return 0;
}


解法二:變形動態(tài)規(guī)劃

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

const int MAX_LENGTH = 1005;
int price[MAX_LENGTH];
int n;
int balance;
int F[1005];

int getMaxConsumption(){
    for (int i = 0; i < n-1; i++)
    {
        for (int V = balance; V >=price[i]; V--){
            F[V] = max(F[V], F[V - price[i]] + price[i]);
        }
    }
    return F[balance];
}

int main(){
    
    while (cin>>n)
    {
        if (n == 0) break;
        memset(price, 0, sizeof(int)*n);

        for (int i = 0; i < n; i++)
        {
            scanf("%d", &price[i]);
        }
        scanf("%d", &balance);
        if (balance < 5){ //特殊情況考慮
            printf("%d\n", balance);
            continue;
        }
        balance -= 5;
        
        for (int i = 0; i < balance+1; i++) //范圍數(shù)組balance+1
        {
            F[i] = 0;
        }
        sort(price, price + n);
        int result = getMaxConsumption();
        printf("%d\n", balance-result-price[n-1]+5);//原始值盡量別改變鹅经,聲明新變量作為中間值
    }
    return 0;
}

注意事項

1.對子集的表示pow(2寂呛,n),用二進制來表示
2.初始化問題要注意
3.DP的變形瘾晃,一是在有個>5的限制贷痪,還有個是求最小值,最后一個是value數(shù)組和weight數(shù)組合而為一

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹦误,一起剝皮案震驚了整個濱河市劫拢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌强胰,老刑警劉巖舱沧,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異偶洋,居然都是意外死亡熟吏,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門玄窝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牵寺,“玉大人,你說我怎么就攤上這事哆料「准簦” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵东亦,是天一觀的道長杏节。 經(jīng)常有香客問我,道長典阵,這世上最難降的妖魔是什么奋渔? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮壮啊,結果婚禮上嫉鲸,老公的妹妹穿的比我還像新娘。我一直安慰自己歹啼,他們只是感情好玄渗,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布座菠。 她就那樣靜靜地躺著,像睡著了一般藤树。 火紅的嫁衣襯著肌膚如雪浴滴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天岁钓,我揣著相機與錄音升略,去河邊找鬼。 笑死屡限,一個胖子當著我的面吹牛品嚣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钧大,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼翰撑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拓型?” 一聲冷哼從身側響起额嘿,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎劣挫,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體东帅,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡压固,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了靠闭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帐我。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖愧膀,靈堂內(nèi)的尸體忽然破棺而出拦键,到底是詐尸還是另有隱情,我是刑警寧澤檩淋,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布芬为,位于F島的核電站,受9級特大地震影響蟀悦,放射性物質(zhì)發(fā)生泄漏媚朦。R本人自食惡果不足惜胯陋,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一泞遗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧戒幔,春花似錦浙炼、人聲如沸份氧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜗帜。三九已至恋拷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钮糖,已是汗流浹背梅掠。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留店归,地道東北人阎抒。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像消痛,于是被迫代替她去往敵國和親且叁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 飯卡 電子科大本部食堂的飯卡有一種很詭異的設計秩伞,即在購買之前判斷余額逞带。如果購買一個商品之前,卡上的剩余金額大于或等...
    DongBold閱讀 571評論 0 0
  • F - 飯卡 HDU - 2546 電子科大本部食堂的飯卡有一種很詭異的設計纱新,即在購買之前判斷余額展氓。如果購買一個商...
    Nioge閱讀 130評論 0 0
  • 這個不錯分享給大家,從扣上看到的脸爱,就轉(zhuǎn)過來了 《電腦專業(yè)英語》 file [fail] n. 文件遇汞;v. 保存文...
    麥子先生R閱讀 6,549評論 5 24
  • 我為什么要寫作族檬?這樣的題目似乎通常應該是作家成名后應邀寫的小文章歪赢,可是我,一個至多偶爾在社交網(wǎng)絡上寥寥數(shù)語的普通人...
    亦花閱讀 601評論 8 4
  • 昨天我剛進門单料,你就眼淚汪汪地跟我說:“媽媽埋凯,我要請一次假,明天不想去跳舞了看尼〉蒺模” “媽媽想知道是什么原因?”我說藏斩。 ...
    上善若水上善若水閱讀 169評論 0 2