xs中學的校長積勞成疾,最終由於無聊而臥病在沙發。需要藥(pi)水(gu)拯救他的生活。
現在有n種藥水,編號分別為1..n,能拯救校長的藥水編號為n
每個藥水都可以購買到,但有的**很便宜,有的很貴。
你還知道m種神奇的合成方法,可以將某些不同的藥水合成成為乙個新的藥水。
現在,你需要求出合成出n號藥水所需要花費的最小金錢,以及在保證花費最小情況下的最少需要合成的次數。
輸入格式:
第一行兩個數n,m
接下來n行,每行有乙個數a[i],表示i號藥水的**。
接下來m行,每行描述乙個合成方法。
對於每個合成方法:第乙個數x表示所需要的藥水的個數。接下來x個數,分別表示所需要的每個藥水的編號,最後乙個數表示這x個藥水所合成的藥水的編號
輸出格式:
僅兩個數,分別表示最小花費和滿足該花費的最小合成次數,中間用空格隔開。
輸入樣例#1:
10 412輸出樣例#1:310042
22100100
3 1 2 3 4
2 4 5 10
2 6 7 9
2 9 8 4
10 2n<=1000
m<=10000
2<=x<=10
tips:看標籤!!!
/*view code對於每種藥,統計乙個mon代表最小花費,step代表在mon基礎上的最小步數, 不斷用能合成i這種藥的σmon[j] 來更新mon[i],共更新n次就可以,最後求 mon[n]。
*/#include
#include
#define n 1010
#define m 10010
using
namespace
std;
intmon[n],step[n],n,m;
struct
node
;node a[m];
intread()
while(c>='
0'&&c<='9')
return num*flag;
}int
main()
for(int t=1;t<=n;t++)
if(sum==mon[a[i].t]&&maxn+1
step[a[i].t]==maxn+1,flag=1
; }
if(!flag)break
; }
printf(
"%d %d
",mon[n],step[n]);
return0;
}
洛谷P4525 模板 自適應辛普森法1
傳送門 我似乎連積分都不太熟練 總之就是對於乙個原函式,我們找乙個二次函式來近似它,那麼有 begin int a bf x dx frac b 3 a 3 frac b 2 a 2 c a b frac 2a b 2 ab a 2 3b b a 6c frac 2ab 2 2aab 2aa 2 3...
洛谷 U6931 燈光
明天就是校園活動了,小明作為場地的負責人,將一切都布置好了。但是在活動的前幾天,校園裡的燈卻都壞掉了,無奈之下,只好再去買一批燈。但是很遺憾的是,廠家看馬上要過年了,就沒有在進貨了,現在只剩下n個發光值不同的燈,作為負責人,你需要,想辦法配出合適的燈。廠家有n盞剩下的燈,小明需要m盞燈,因為活動舉辦...
洛谷 U141384 電路
洛谷傳送門 seawayseawa y是熱愛學習的好孩子。有一天,seawayseawa y正在向他的物理老師lsplsp討教物理。ll老師向他介紹了一種神奇的電路,邏輯電路 ll老師說 邏輯電路是一種離散訊號的傳遞和處理 以二進位制為原理 實現數碼訊號邏輯運算和操作的電路。分組合邏輯電路和時序邏輯...