problem description
金牌大圖神的演算法能力最近又有不少提高~
為了杭電acm集訓隊的可持續性發展,現在他幫忙出了一道題目來訓練新隊員——
給出4種數字583,1643,3233,5989,依次分別有n,m,k,g個,請找出用這些數字能湊成的和最接近l的數,如果有2個同樣接近的,請輸出較大的那個。
input
輸入資料第一行是資料的組數t(1 <= t <= 70);
每組資料的第一行是4個正整數n,m,k,g(n,m,k,g<= 100);
每組資料的第二行是1個正整數l(l<=1200000);
以上資料的含義詳見題目描述。
output
對於每組資料,輸出乙個最接近l的數字,每組資料輸出一行。
sample input
21 2 3 4
3286
1 2 2 2
3870
sample output
3286
我的理解:拿到這個題目的第一反應是裝箱問題。於是就想用01揹包的思想解決問題。可惜超時了。
後來看到給我們的n,m,k,g都很小,所以列舉了所有的可能情況。ac
#include #include#include#includeusing namespace std;
#define maxn 1200009
bool vis[maxn];
int dp[maxn];
int main()
; scanf("%d",&t);
while(t--)
ans1=ret;
l=0,r=num;
while(l<=r)
ans2=ret;
if(ans1-l<=l-ans2)ans=ans1;
else ans=ans2;
printf("%d\n",ans);
}return 0;
}
牛牛湊數字
題目 牛牛今天家裡要來客人,所以牛牛今天特意做了他最拿手的兩種蛋糕,但是他是乙個有潔癖的人,所以他在分蛋糕時,有如下幾個原則 1.他不希望乙個盤子裡出現兩種蛋糕 2.他希望每個盤子中都有蛋糕 3.他想讓裝有最少蛋糕數量的盤子中裝有的蛋糕數量盡可能多 示例1複製 5,2,3複製 1只有一種方法把蛋糕分...
走進遞迴 湊數字題解
題目描述 有n個數字,a 1 a 2 a 3 a n 以及乙個數字m。問n個數字中取出一些數字,這些數字的和能否等於m。輸入多組測試資料,讀入到檔案尾結束。第一行輸入n,m。1 n 20,1 m 100 第二行輸入n個數字a 1 a 2 a 3 a n 1 a i 100 輸出如果可以,輸出yes,...
nowcoder 2020 牛牛的湊數遊戲
點此看題 設現在能表示的區間是 1,r 1,r 1,r 如果新加入了乙個數b bb,那麼新產生的區間是 b,r b b,r b b,r b 如果r 1 br 1r 1 b就可以直接不算了,因為後面的數不會下降,而空出來的r 1 r 1r 1是永遠無法填補的,否則我們把r rr擴大b bb。現在想必你...