明天就是校園活動了,小明作為場地的負責人,將一切都布置好了。但是在活動的前幾天,校園裡的燈卻都壞掉了,無奈之下,只好再去買一批燈。但是很遺憾的是,廠家看馬上要過年了,就沒有在進貨了,現在只剩下n個發光值不同的燈,作為負責人,你需要,想辦法配出合適的燈。
廠家有n盞剩下的燈,小明需要m盞燈,因為活動舉辦在晚上,所以這些燈的光值和不能低於k,現在小明想知道,有多少種選燈的方案,以及每種方案選出的m盞燈。
輸入格式:
共n+1行,第一行有三個整數:n,m,k,表示廠家有n盞(燈),小明需要m盞,從n盞中選的m盞的光線和不能小於k。
接下來的1行,共n個整數,第i個數表示第i盞燈的發光值。
輸出格式:
先輸出乙個整數,表示方案數,接下來的幾行,每行m+1個數,前m個數表示每個方案選擇的燈的序號,第m+1個數表示這個方案的光值和。
如果沒有方案,第一行就輸出-1,第二行輸出最大的光亮值。
輸入樣例#1:
3 2 51 3 2
輸出樣例#1:
12 3 5
輸入樣例#2:
4 2 72 5 3 1
輸出樣例#2:
21 2 7
2 3 8
輸入樣例#3:
5 2 52 2 2 2 2
輸出樣例#3:
-14
3<=m<=n<=20;
1<=k<=a[1]+a[2]...+a[n];
樣例就自己看哈~。
輸出用序號排序
題目大意:有n個燈,選m個,要求選的m個燈的光值和大於k,求方案數及每個方案。
題解:搜尋...
剛開始提交30分...思考人生.....
後來發現沒有輸出方案數...改了就a了...蠢哭....
**:
#include#include#include
#include
using
namespace
std;
int n,m,k,flag,max_ans,bo[22],ans[22
];vector
res[2000
];void dfs(int now,int has,int
sum)
else
return
; }
if(now==n+1)return
; ans[has+1]=now;
dfs(now+1,has+1,sum+bo[now]);
ans[has+1]=0
; dfs(now+1
,has,sum);
}int
main()
else
}return0;
}
洛谷 U141384 電路
洛谷傳送門 seawayseawa y是熱愛學習的好孩子。有一天,seawayseawa y正在向他的物理老師lsplsp討教物理。ll老師向他介紹了一種神奇的電路,邏輯電路 ll老師說 邏輯電路是一種離散訊號的傳遞和處理 以二進位制為原理 實現數碼訊號邏輯運算和操作的電路。分組合邏輯電路和時序邏輯...
改數 洛谷 U5398
又是一年noip,科學館的五樓 我們看下這道題,我們來模擬一下 2,3,5,7,12 這其實就是乙個a i 1 a i i的序列 那熟悉的凌波教鞭,熟悉的憨厚的聲音,那熟悉的.哦,還有那熟悉的來自未來某位神牛的發言 老師,好像有個數寫錯了 給出乙個長度為n的整數序列a,你能改動最少的數,使之滿足a ...
救命(洛谷 U4525)
xs中學的校長積勞成疾,最終由於無聊而臥病在沙發。需要藥 pi 水 gu 拯救他的生活。現在有n種藥水,編號分別為1.n,能拯救校長的藥水編號為n 每個藥水都可以購買到,但有的 很便宜,有的很貴。你還知道m種神奇的合成方法,可以將某些不同的藥水合成成為乙個新的藥水。現在,你需要求出合成出n號藥水所需...