1. 程式人生 > >2017年浙江中醫藥大學大學生程式設計競賽

2017年浙江中醫藥大學大學生程式設計競賽

時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 131072K,其他語言262144K
64bit IO Format: %lld

題目描述

cc最近收到了好多禮物,對著滿地大小不一的禮物,她想要一個包來裝,於是dd就掏出了一個會說話的神奇揹包給cc裝禮物。
cc為了一次性裝儘可能多的禮物,於是跟這個揹包定下了一個規則,對每個禮物,揹包會給出它對這件禮物的喜愛程度,揹包越喜歡這個禮物,它就會越開心,越開心,它就會擴大自己的容量。
於是問題就變成了這樣:每個禮物都有自己的體積ai,揹包也會給出它對這些禮物的喜愛程度bi,並且為了方便cc計算,揹包告訴cc,喜愛程度bi就是這件物體放進揹包,揹包後會擴大的體積。
那麼現在cc想知道,對這一地的禮物,有沒有某種放的順序,可以一次性把所有禮物都放進包裡?
當然,物體要先放進揹包,揹包才會擴大自己的體積
比如當前揹包的剩餘體積為2,禮物的體積為3,喜愛程度為4,也是不能放進揹包的。

輸入描述:

輸入包含多組資料,第一行為一個整數T(1<=T<=20)
每組資料第一行包含兩個整數n,v(1<=n,v<=1000)表示共有n個禮物,揹包一開始的體積為v
接下去的n行每行包含兩個整數ai,bi(1<=ai,bi<=1000)表示每個禮物的體積ai與揹包對這件禮物的喜愛程度bi
1 <= T <= 20
1 <= n, v <= 100000
1 <= ai, bi <= 100000

輸出描述:

若存在一種放禮物的順序可以讓cc把所有禮物放進揹包,則輸出"yes"否則輸出"no"(引號不包含在內)
示例1

輸入

1
4 2
1 2
2 1
3 1
2 3

輸出

yes

point:

把揹包分為2類,一類放進去反倒可以增加空間,一類縮減。

先貪心放一類,當然是小的先放。

再放二類,也是小的先放。

全放下就ok。不然就NO。

#include <iostream>
#include <string>
#include <string.h>
#include <math.h>
#include <vector>
#include <queue>
#include <stdio.h>
#include <algorithm>
using namespace std;
const int maxn = 100000+1000;
#define LL long long
const LL inf = 0x3f3f3f3f;
struct node
{
	LL a,b;
}a[maxn],b[maxn];
bool cmd(node a,node b)
{
	return a.a<b.a;
}
int main()
{
	LL T;
	scanf("%lld",&T);
	while(T--){
		LL n,v;
		LL c1=0,c2=0;
		scanf("%lld %lld",&n,&v);
		for(LL i=1;i<=n;i++){
			LL aa,bb;
			scanf("%lld %lld",&aa,&bb);
			if(bb>aa){
				a[++c1].a=aa;
				a[c1].b=bb;
			}else{
				b[++c2].a=aa;
				b[c2].b=bb;
			}
		}
		sort(a+1,a+1+c1,cmd);
		LL flag=1;
		for(LL i=1;i<=c1;i++){
			if(a[i].a>v){
				flag=0;
				break;
			}
			v-=a[i].a;
			v+=a[i].b;
		}
		sort(b+1,b+1+c2,cmd);
		for(LL i=1;i<=c2;i++){
			if(b[i].b>v){
				flag=0;
				break;
			}
			v-=b[i].a;
			v+=b[i].b;
		}
		if(!flag){
			printf("no\n");
		}else{
			printf("yes\n");
		}

	}
	
}


相關推薦

2017浙江中醫藥大學大學生程式設計競賽

時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 131072K,其他語言262144K64bit IO Format: %lld 題目描述 cc最近收到了好多禮物,對著滿地大小

浙江中醫藥大學大學生程式設計競賽problemC Wpremig的三角形(二分計算幾何)

這題就太有說法了…像我這種萌新看完之後完全沒思路,我能回爐從造嗎 這是一道好題,看題解全程跪著看完的,防止忘了還是寫個… 如果想面積最大,那麼每兩個三角形相交的位置和每邊緣的三角形與邊界相交的位置一樣高,設這個高度為mid,mid下面是一個矩形,答案就是高度的三角形面積和加上這個矩形面積

nowcoder 2017浙江工業大學大學生程式設計迎新賽預賽-慄醬的異或和

時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 131072K,其他語言262144K64bit IO Format: %lld 題目描述         慄醬特別喜歡玩

2017浙江中醫藥大學程式設計競賽 Solution

訓練地址 A: 樹剖板子題 求最小值的時候要注意值是不是有負數,如果有,初值要置為$-INF$ 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define N 30010 5 #d

2018浙江中醫藥大學程式設計競賽 L Wpremig's Niuniu

題意: 規則: 五張牌均嚴格小於5,五張牌的和小於等於10,得60分。 五張牌都是$J,Q,K$,得50分。 五張牌有四張牌相同,得40分。 如果其中三張牌的和是10的倍數,並且其他兩張牌的和是10的倍數,得30分 如果其中三張牌的和是10的倍數,並且其他兩張牌的和對於10的餘數大於等於7,得$2

2017西南民族大學程序設計競賽-網絡同步賽(代碼)

true can 而且 pri 排名 scan namespace and define 20598954 nmphy D 答案正確 8 512 486 C++ 2017-12-30 14:30:35 205987

第三屆全國中醫藥院校大學生程式設計競賽 (正式賽)

 Problem B. 綠地裝飾(暴力模擬+思維) 時間限制: 1  記憶體限制: 128 MB 提交: 56  解決: 22  201501010119 提交狀態討論版 題目連結:http://a

今日頭條杯 2018 首屆湖北省大學生程式設計競賽 (網路賽)Problem B.(計算幾何)

Problem B. GSS and Interesting SculptureInput file: standard inputOutput file: standard outputTime limit: 1 secondsMemory limit: 512 mebib

參加浙江中醫藥大學第十一屆程式設計競賽(ACM賽制)的總結

前言 2017.12.10,浙江中醫藥大學主辦了一場acm賽制的比賽(浙江中醫藥大學第十一屆程式設計競賽),而我和我們學校(杭州二中白馬湖學校)的另外兩名同學組成一隊也去參加了,這是我打的第一場acm比賽,和傳統的oi比賽不同,acm賽制的形式不一樣,題目型別也不一樣。 規則介紹

2017西南民族大學程式設計競賽-網路同步賽

時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 131072K,其他語言262144K64bit IO Format: %lld 題目描述 現在有一個N*M的矩形星圖。其中包括恆星和黑洞。恆星可以向上、下、左、右發射光束,且允許光束從其中穿過;黑

2017第12屆黑龍江省大學生ACM程式設計競賽以及第11屆東北地區大學生程式設計競賽總結

今天,黑龍江省大學生程式設計競賽結束了。我已經不記得為了這個省賽我和我的隊友們都付出了什麼,鄙人在這裡檢討一波,鄙人隊友五一沒有休息在實驗室訓練,而我卻因家裡的事情逃避了訓練,雖然這有些不可為,但也要檢討一番。 這裡是對省賽的一些總結與經驗教訓。 這次省賽鄙

一生之敵-2017浙江中醫藥大學程式設計

時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 131072K,其他語言262144K64bit IO Format: %lld    題目描述 大家都知道Alice和Bob兩個人是一生之敵。(霧   但某天,他們兩個人發了瘋。想知道他們兩個是否可以

ACM-ICPC國際大學生程式設計競賽北京賽區(2017)網路賽(A+E+F+G+I)

目錄 A - Visiting Peking University(模擬) E - Territorial Dispute(數學幾何+思維) F - Cake(思維) G - Bounce(找規律) I - Minimum(線段樹模板題) A - Visiting

HDU 2017中國大學生程式設計競賽-總決賽 Subway Chasing [差分約束]

題意:我與朋友要從1走到n,朋友比我先x分鐘走,然後給出m個事件,每個事件給出我的與朋友的位置,求符合這些事件的相鄰的點的距離。 題解:可以看出每個事件可以給出2種情況: ①a==b&&c==d 那麼我們能得到差分條件:c-a<=x  a-c<=

2017河南省第十屆ACM大學生程式設計競賽總結

河南第十屆大學生程式設計競賽總結             比賽過程隊友部落格有記錄:http://blog.csdn.net/dreamNYC/article/details/71417450             主要就總結下這次比賽的感受:                     我們隊雖然和

ACM-ICPC國際大學生程式設計競賽北京賽區(2017)網路賽 題解彙總 Territorial Dispute

#include <iostream> #include<algorithm> #include<cstdio> #include <cstring> #include <cmath> using

計算機學院大學生程式設計競賽2017新生賽) 1004 正品的概率

前幾天在hdu上做的一個題目,算是比較水,只要能準確的算出他的概率就好了;() 題目: 思路: 我們需要先從這袋硬幣中先挑選出一枚硬幣,然後拋擲 k 次且全是國徽朝上。我們可以分兩步來考慮,第一步:拿,因為袋中有m枚正品硬幣,n枚次品硬幣,所以拿到真幣的 概率為m/

2017中國大學生程式設計競賽

首先.這次開局爛到家了,1200+人過了的03簽到題,我隊還一直在MLE中,因為怕超時,複雜度算不清不敢暴力. 最後還是過了07 05 04 之後才穩一點慢慢的改一點交一點 ...罰時爆炸的過了03.. 這個題真的暴力也能過?還飛快.暴力不是 n3 嗎.

2015山東省第六屆ACM大學生程式設計競賽-B-Lowest Unique Price

Link: http://www.sdutacm.org/sdutoj/problem.php?action=showproblem&problemid=3252 Lowest Unique Price Time Limit: 1000ms

SDUT 3258 Square Number(2015山東省第六屆ACM大學生程式設計競賽)

Square Number Time Limit: 1000ms   Memory limit: 65536K  有疑問?點這裡^_^ 題目描述 In mathematics,