【贪心】赶作业
【貪心】趕作業(yè)
1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 5 using namespace std; 6 7 struct zuo 8 { 9 int s,f; 10 }; 11 int cmp(zuo a,zuo b) 12 { 13 return a.f>b.f; 14 } 15 zuo a[1111]; 16 int t,n,tag[1111],sum,i,j; 17 18 int main() 19 { 20 while(cin>>t) 21 22 { 23 while(t--) 24 { 25 memset(tag,0,sizeof(tag)); 26 sum=0; 27 cin>>n; 28 for(int i=0;i<n;i++) 29 cin>>a[i].s; 30 for(int i=0;i<n;i++) 31 cin>>a[i].f; 32 sort(a,a+n,cmp); 33 for(i=0;i<n;i++) 34 { 35 for(j=a[i].s;j>0;j--) 36 { 37 if(tag[j]==0) 38 { 39 tag[j]=1; 40 break; 41 } 42 } 43 if(j==0) 44 sum+=a[i].f; 45 } 46 cout<<sum<<endl; 47 } 48 } 49 return 0; 50 }
問(wèn)題 : 【貪心】趕作業(yè)
時(shí)間限制: 1 Sec??內(nèi)存限制: 64 MB題目描述
小墨老師總是不及時(shí)做作業(yè),所以他總有很多的作業(yè)要做。每個(gè)老師都給了他一個(gè)完成作業(yè)的最后期限,如果他超過(guò)期限交作業(yè),老師就會(huì)在他的期末評(píng)價(jià)中扣分。假設(shè)做每一門(mén)作業(yè)總是要一天。小墨老師希望你能夠幫助他安排做作業(yè)的一個(gè)順序,以便能夠被扣掉的分?jǐn)?shù)最少。輸入
輸入包含了多個(gè)測(cè)試用例。輸入的第一行是一個(gè)整數(shù)T,代表測(cè)試用例的個(gè)數(shù)。接下來(lái)的就是T個(gè)測(cè)試用例的輸入。每個(gè)測(cè)試用例都從一個(gè)正整數(shù)N(1≤N≤1000)開(kāi)始,代表了作業(yè)的數(shù)目。接下來(lái)有2行。第一行包含N個(gè)整數(shù),分別代表各個(gè)作業(yè)提交的最后期限;第二行也有N個(gè)整數(shù),即對(duì)應(yīng)于各個(gè)作業(yè)操過(guò)時(shí)間提交的扣分。輸出
對(duì)每一個(gè)測(cè)試用例,應(yīng)該在一行中輸出最小的扣分?jǐn)?shù)。樣例輸入
2 3 3 3 3 10 5 1 3 1 3 1 6 2 3樣例輸出
0 31 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 5 using namespace std; 6 7 struct zuo 8 { 9 int s,f; 10 }; 11 int cmp(zuo a,zuo b) 12 { 13 return a.f>b.f; 14 } 15 zuo a[1111]; 16 int t,n,tag[1111],sum,i,j; 17 18 int main() 19 { 20 while(cin>>t) 21 22 { 23 while(t--) 24 { 25 memset(tag,0,sizeof(tag)); 26 sum=0; 27 cin>>n; 28 for(int i=0;i<n;i++) 29 cin>>a[i].s; 30 for(int i=0;i<n;i++) 31 cin>>a[i].f; 32 sort(a,a+n,cmp); 33 for(i=0;i<n;i++) 34 { 35 for(j=a[i].s;j>0;j--) 36 { 37 if(tag[j]==0) 38 { 39 tag[j]=1; 40 break; 41 } 42 } 43 if(j==0) 44 sum+=a[i].f; 45 } 46 cout<<sum<<endl; 47 } 48 } 49 return 0; 50 }
?
posted on 2016-07-22 10:14 asuml 閱讀(...) 評(píng)論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/asuml/p/5694142.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
- 上一篇: java实例练习——基于TCP/IP协议
- 下一篇: MATLAB图像增强程序举例