日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

P1977 出租车拼车

發布時間:2023/11/29 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P1977 出租车拼车 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

P1977 出租車拼車

題目背景

話說小 x 有一次去參加比賽,雖然學校離比賽地點不太遠,但小 x 還是想坐 出租車去。大學城的出租車總是比較另類,有“拼車”一說,也就是說,你一個人 坐車去,還是一堆人一起,總共需要支付的錢是一樣的(每輛出租上除司機外最 多坐下 4 個人)。剛好那天同校的一群 Oier 在校門口扎堆了,大家果斷決定拼車 去賽場。

問題來了,一輛又一輛的出租車經過,但里面要么坐滿了乘客,要么只剩下 一兩個座位,眾 Oier 都覺得坐上去太虧了,小 x 也是這么想的。

題目描述

假設 N 位 Oier 準備拼車,此時為 0 時刻,從校門到目的地需要支付給出租

車師傅 D 元(按車次算,不管里面坐了多少 Oier),假如 S 分鐘后恰能趕上比賽,

那么 S 分鐘后經過校門口的出租車自然可以忽略不計了。現在給出在這 S 分鐘當

中經過校門的所有的 K 輛出租車先后到達校門口的時間 T i 及里面剩余的座位 Zi

(1 <= Zi <= 4),Oier 可以選擇上車幾個人(不能超過),當然,也可以選擇上 0 個

人,那就是不坐這輛車。

俗話說,時間就是金錢,這里小 x 把每個 Oier 在校門等待出租車的分鐘數 等同于花了相同多的錢(例如小 x 等待了 20 分鐘,那相當于他額外花了 20 元錢)。

在保證所有 Oier 都能在比賽開始前到達比賽地點的情況下,聰明的你能計 算出他們最少需要花多少元錢么?

輸入輸出格式

輸入格式:

?

每組數據以四個整數 N , K , D , S 開始,具體含義參見題目描述。

接著 K 行,表示第 i 輛出租車在第 Ti 分鐘到達校門,其空余的座位數為 Zi

(時間按照先后順序)。

N <= 100,K <= 100,D <= 100,S <= 100,1 <= Zi <= 4,1<= T(i) <= T(i+1) <= S

?

輸出格式:

?

對于每組測試數據,輸出占一行,如果他們所有人能在比賽前到達比賽地點,

則輸出一個整數,代表他們最少需要花的錢(單位:元),否則請輸出“impossible”。

?

輸入輸出樣例

輸入樣例#1:?復制 2 2 10 5 1 1 2 2 輸出樣例#1:?復制 14

?

?

洛谷題解:

竟然沒人寫題解

f[i][j]表示前i輛車走了j個OIer 狀態轉移方程也不難想?其實很難

f[i][j]=min(f[i-1][j-k]+k*t[i]+d,f[i][j])(1<=k<=min(j,z[i]))

附上代碼

1 #include<iostream> 2 #include<cstring> 3 #define maxn 101 4 using namespace std; 5 int n,k,d,s,f[maxn][maxn]; 6 struct node{ 7 int t,z; 8 }a[maxn]; 9 int main(){ 10 memset(f,10,sizeof(f)); 11 cin>>n>>k>>d>>s; 12 for(int i=1;i<=n;i++)cin>>a[i].t>>a[i].z; 13 f[0][0]=0; 14 for(int i=1;i<=k;i++) 15 for(int j=0;j<=n;j++){ 16 f[i][j]=f[i-1][j]; 17 for(int k=0;k<=min(j,a[i].z);k++) 18 f[i][j]=min(f[i-1][j-k]+k*a[i].t+d,f[i][j]); 19 } 20 if(f[k][n]>=10000)cout<<"impossible"; 21 else cout<<f[k][n]; 22 return 0; 23 }

?

轉載于:https://www.cnblogs.com/Renyi-Fan/p/7774012.html

總結

以上是生活随笔為你收集整理的P1977 出租车拼车的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。