還是貪心(結構體排序)

2021-08-30 14:03:09 字數 1550 閱讀 1183

2128: 盾神與積木遊戲

time limit: 1 sec memory limit: 128 mb

submit: 127 solved: 39

[submit][status][web board]

description

最近的m天盾神都去幼兒園陪小朋友們玩去了~

每個小朋友都拿到了一些積木,他們各自需要不同數量的積木來拼一些他們想要的東西。但是有的小朋友拿得多,有的小朋友拿得少,有些小朋友需要拿到其他 小朋友的積木才能完成他的大作。如果某個小朋友完成了他的作品,那麼他就會把自己的作品推倒,而無私地把他的所有積木都奉獻出來;但是,如果他還沒有完成 自己的作品,他是不會把積木讓出去的喲~

盾神看到這麼和諧的小朋友們感到非常開心,於是想幫助他們所有人都完成他們各自的作品。盾神現在在想,這個理想有沒有可能實現呢?於是把這個問題交給了他最信賴的你。

input

第一行為乙個數m。

接下來有m組資料。每一組的第一行為n,表示這天有n個小朋友。接下來的n行每行兩個數,分別表示他現在擁有的積木數和他一共需要的積木數。

output

輸出m行,如果第i天能順利完成所有作品,輸出yes,否則輸出no。

sample input22

2 21 3

31 5

3 30 4

sample output

yesno

hint

source

演算法提高

先把自己第一次沒有做對的貼出來(當時還沒有了解結構體排序),也發現了沒有做對的原因;

/*

wrong answer

而這種寫法無法實現,學長指導說應該用結構體排序

*/#include #include using namespace std;

int a[10000],b[10000],c[10000],d[10000];

int main()

sort(d,d+n);

int num = 0,x = 0;

for(int k = 0; k < n; k++)

else goto flag;}}

}flag:;

if(x == n) printf("yes\n");

else printf("no\n");

}return 0;}/*

accepted

**進入正題結構體排序**

*/ #include #include using namespace std;

struct child

;bool cmp(child p,child q)

*/int main()

sort(date,date+n,cmp);

int num = 0,sum = 0;

for(int j = 0; j < n; j++)

else break;

}if(sum == n) printf("yes\n");

else printf("no\n");

}return 0;

}

貪心 結構體排序

a cleaning shifts 題目大意 完全覆蓋1 t所需要最小的奶牛數量。解題思路 首先按開始時間從小到大排序,比如1肯定要在最前面。如果開始時間相同,就把結束時間大的放前面,因為要使奶牛數量最小。比如1 5,1 3,毫無疑問選擇1 5。hdu 2037 今年暑假不ac 與這題異曲同工 直接...

字元裝置的核心結構體 kobj map 結構

深入linux裝置驅動程式核心機制 第2章字元裝置驅動程式,本章描述了字元裝置驅動程式核心框架的技術細節。本節為大家介紹字元裝置的註冊。2.5 字元裝置的註冊 前面已經討論了字元裝置物件的分配 初始化及裝置號等概念,在乙個字元裝置初始化階段完成之後,就可以把它加入到系統中,這樣別的模組才可以使用它。...

活動安排(貪心演算法,結構體排序)

題目 活動安排 貪心 貪心演算法 又稱貪婪演算法 是指,在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的區域性最優解。貪心演算法不是對所有問題都能得到整體最優解,但對範圍相當廣泛的許多問題他能產生整體最優解或者是整體最優解的近似解。思路 ...