国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

算法提高 排隊(duì)打水問題 無聊刷個(gè)水題

2019-11-10 22:14:13
字體:
供稿:網(wǎng)友

算法提高 排隊(duì)打水問題 時(shí)間限制:1.0s 內(nèi)存限制:256.0MB 提交此題 問題描述   有n個(gè)人排隊(duì)到r個(gè)水龍頭去打水,他們裝滿水桶的時(shí)間t1、t2………..tn為整數(shù)且各不相等,應(yīng)如何安排他們的打水順序才能使他們總共花費(fèi)的時(shí)間最少? 輸入格式   第一行n,r (n<=500,r<=75)   第二行為n個(gè)人打水所用的時(shí)間Ti (Ti<=100); 輸出格式   最少的花費(fèi)時(shí)間 樣例輸入 3 2 1 2 3 樣例輸出 7

數(shù)據(jù)規(guī)模和約定   其中80%的數(shù)據(jù)保證n<=10

首先 等的時(shí)間最短是這個(gè)題最重要的,那么就需要 讓接水時(shí)間最小的人放在前面, 之后,要讓接水的人等的時(shí)間最短

創(chuàng)建兩個(gè)數(shù)組 ,一個(gè)代表接水的等待時(shí)間 ,一個(gè)代表人 接水的人所在的水龍頭的等待時(shí)間加上去 然后后面的人優(yōu)先選擇等待時(shí)間最少的水龍頭去接水。

一共進(jìn)行n次排序,每次的為r*lg(r) 所以復(fù)雜度為n*r*lg(r) 數(shù)據(jù)最大為500*75*9 很小- -

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <map>using namespace std;int d[505];//等待的時(shí)間int x[505];//接水的人int main(){ int n,r; while(cin>>n>>r) { int sum=0; memset(d,0,sizeof(d)); for(int i=0;i<n;i++) { cin>>x[i]; } sort(x,x+n); for(int i=0;i<n;i++) { sort(d,d+r);//把等待時(shí)間最小的水龍頭排到前面 //for(int j=0;j<r;j++)cout<<d[j]<<' ';cout<<endl; sum+=d[0]+x[i]; d[0]+=x[i]; // for(int j=0;j<r;j++)cout<<d[j]<<' ';cout<<endl<<sum<<endl;cout<<endl<<endl; } cout<<sum<<endl; }}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江西省| 英吉沙县| 清新县| 长沙市| 彭州市| 沙田区| 桐乡市| 南丰县| 隆林| 陈巴尔虎旗| 澄江县| 云和县| 孟州市| 于田县| 兰坪| 孙吴县| 布尔津县| 龙江县| 旬阳县| 乐亭县| 兖州市| 大冶市| 收藏| 迭部县| 临武县| 赤峰市| 阿拉尔市| 昌都县| 监利县| 贵阳市| 壤塘县| 米林县| 庄河市| 永丰县| 平乡县| 三亚市| 东至县| 彩票| 吉木乃县| 玉山县| 永春县|