1. 程式人生 > >揹包問題 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述 現在有很多物品(它們是可以分割的),我們知道它們每個物品的單位重量的價值v和重量w(1

揹包問題 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述 現在有很多物品(它們是可以分割的),我們知道它們每個物品的單位重量的價值v和重量w(1

#include<iostream>
#include<algorithm>
using namespace std;
struct vw{
int v;
int w;
};
bool cmp(vw p1,vw p2){
if(p1.v<p2.v)
return true;
return false;
}

int main(){
int n,s,m,t,sum;
vw p[10];
cin>>n;
while(n--){
sum=0;
cin>>s>>m;
for(int i=0;i<s;i++)
cin>>p[i].v>>p[i].w;
sort(p,p+s,cmp);

t=m;
int i=s-1;
while(t){
if(t>p[i].w){
sum+=p[i].w*p[i].v;
t-=p[i].w;
i--;
}
else{
sum+=t*p[i].v;
t=0;
}
}
cout<<sum<<endl;
}
}

相關推薦

素數距離問題 時間限制3000 ms | 記憶體限制65535 KB 難度2 描述 現在給出你一些數要求你寫出一個程式輸出這些整數相鄰最近的素數並輸出其相距長度。如果左右有等距離長度素數

個人理解:判斷輸入的數是不是輸入只要判斷一個數i從2開始到到i*i小於等於輸入的這個數,對於0,1要直接輸出來0,然後找到左右的兩個素數進行比較大小後打印出即可 #include<stdio.h> #include<string.h>#inclu

兩點距離 時間限制3000 ms | 記憶體限制65535 KB 難度1 描述 輸入兩點座標X1,Y1,X2,Y2(0

#include<stdio.h>#include<math.h>int main(void){int N;float a,b,c,d,result;scanf("%d",&N);          /*表示有多少組的資料要進行計算*/get

收藏 | 雲端計算領域最全常用術語中英文對照知道多少個?

“雲”發展得如此火熱,“雲”術語層出不窮。為了緊跟上科技潮流,做雲端計算領域的知識達人,小編整理了45個雲端計算領域常用的術語(含中英文對照)及其解釋,以供愛學習的你們參考,一起讓科技知識儲備量上升一個level~ 本文內容主要包含: •關於虛擬化 •關於雲端計算技術 •關於雲

 電子工程師的出路在哪裡?幹了兩年電子工程師硬體開發知道以後方向在哪裡挺迷茫!

 電子工程師們,你還在座位上埋頭苦幹,跟與一堆資料跟程式打交道嗎? 這樣下去不行,現在生活想過得有滋有味,靠工資不如靠收入,做技術是吃腦力飯,壓力大,頭髮大把大把掉,工資永遠那個數,跳來跳去無法突破自我。 什麼是電子工程師?電子工程師指從事各類電子裝置和資訊系統研究、教

月餅 (25) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)

題目描述 月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需 求量,請你計算可以獲得的最大收益是多少。 注意:銷售時允許取出一部分庫存。樣例給出的情形是這樣的:假如我們有3種月餅,其庫存量分別為18

組個最小數 (20) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)

題目描述 給定數字0-9各若干個。你可以以任意順序排列這些數字,但必須全部使用。目標是使得最後得到的數儘可能小(注意0不能做首位)。例如: 給定兩個0,兩個1,三個5,一個8,我們得到的最小的數就是10015558。 現給定數字,請編寫程式輸出能夠組成的最小的數。

程式執行時間(15) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)

題目描述 要獲得一個C語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock()函式,可以捕捉從程式開始執行到clock()被呼叫時所 耗費的時間。這個時間單位是clock tick,即“時鐘打點”。同時還有一個常數CLK_TCK,給出了機器時鐘每秒

福爾摩斯的約會 (20) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)

題目描述 大偵探福爾摩斯接到一張奇怪的字條:“我們約會吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大偵探很 快就明白了,字條上奇怪的亂碼實際上就是約會的時間“星期四 14:04”,因

科學計數法 (20) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)

題目描述 科學計數法是科學家用來表示很大或很小的數字的一種方便的方法,其滿足正則表示式[+-][1-9]"."[0-9]+E[+-][0-9]+,即數字的整數部分 只有1位,小數部分至少有1位,該數字及其指數部分的正負號即使對正數也必定明確給出。 現以科學計數法的格式給出

A+BC (15)間限 時制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB

題目描述給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字: A1 = 能被5整除的數字中所有偶數的和; A2 = 將被5除後餘1的數字按給出順序進行交錯求和,即計算n1-n2+n3-n4...; A3 = 被5除後餘2的數字的個數; A4 = 被5除後

人口普查(20) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)

題目描述 某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。 這裡確保每個輸入的日期都是合法的,但不一定是合理的——假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200 歲的生日和未出生的生日都是不合理的,應該

1016. 部分A+B (15) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小)

題目描述正整數A的“DA(為1位整數)部分”定義為由A中所有DA組成的新整數PA。例如:給定A = 3862767,DA = 6,則A的“6部分”PA是66,因為A中有2個6。 現給定A、DA、B、DB,請編寫程式計算PA + PB。輸入描述:輸入在一行中依次給出A、D

Java併發程式設計基礎//程序:每個程序都有獨立的程式碼和資料空間程序上下文),程序間的切換開銷比較大一個程序包含1-n個執行緒 //執行緒同一類執行緒共享程式碼和資料空間,每個執行緒擁有獨立的執行棧和程式計

1.實現多執行緒的兩種方式: (1)繼承Thread類; (2)實現Runnable介面 //程序:每個程序都有獨立的程式碼和資料空間(程序上下文),程序間的切換開銷比較大,一個程序包含1-n個執行緒 //執行緒:同一類執行緒共享程式碼和資料空間,每個執行緒擁有獨立的執行