1425:【例題4】加工生產排程
時間限制: 1000 ms 記憶體限制: 65536 kb
提交數: 2196 通過數: 571
【題目描述】
某工廠收到了 n 個產品的訂單,這 n 個產品分別在 a、b 兩個車間加工,並且必須先在 a 車間加工後才可以到 b 車間加工。
某個產品 i 在 a,b 兩車間加工的時間分別為ai,bi。怎樣安排這 n 個產品的加工順序,才能使總的加工時間最短。
這裡所說的加工時間是指:從開始加工第乙個產品到最後所有的產品都已在 a,b 兩車間加工完畢的時間。
【輸入】
第一行僅—個資料 n ,表示產品的數量;
接下來 n 個資料是表示這 n 個產品在 a 車間加工各自所要的時間;
最後的 n 個資料是表示這 n 個產品在 b 車間加工各自所要的時間。
【輸出】
第一行乙個資料,表示最少的加工時間;
第二行是一種最小加工時間的加工順序。
【輸入樣例】
53 5 8 7 10
6 2 1 4 9
【輸出樣例】
341 5 4 2 3
【提示】
對於100%的資料, 0 < n < 10000,所有數值皆為整數。
#include
#define ll long long
#define pii pair
using
namespace std;
const
int n=
1e4+5;
struct node
}c[n]
;int n,a[n]
,b[n]
,f[n]
;//f儲存下標順序
intmain()
for(
int i=
1;i)for
(int j=i+
1;j<=n;j++)if
(c[i]
.x>c[j]
.x)swap
(c[i]
,c[j]);
int l=
1,r=n;
for(
int i=
1;i<=n;i++
)int ta=
0,tb=0;
for(
int i=
1;i<=n;i++
) cout << tb << endl;
for(
int i=
1;i<=n;i++
)printf
("%d "
,f[i]);
printf
("\n");
return0;
}
1425 例題4 加工生產排程
題目如下圖 題解 總用時最短,即讓機器空閒時間最短。一旦a機器開始,其將進行作業直到最後。b機器則在加工過程中可能會在等待a機器,顯然a機器加工第乙個產品時,b機器必須等待,而最後乙個產品在b機器上加工時,a機器則一停止並等待b機器完工。使機器空間時間最短,把a機器上加工時間最短的產品最先加工,可使...
1441 例題2 生日蛋糕
題解 也就是說第m層蛋糕的半徑最小為m,高最小也是m 此時第一層蛋糕半徑和高都是1保證第m層最小 1.for int i m i i m n i i表示的是半徑的範圍 2.for int j m i i j n j j表示的是高的範圍 3.if i i 2 i j 這一步表示的是只有我們在列舉到這個...
算典04 例題 03
n n 20 個人站成一圈,逆時針編號為1 n。有兩個 a從1開始逆時針數,b從n開始順時針數。在每一輪中,a數k個就停下來,b數m個就停下來 注意有可能兩個 停在同乙個人上 接下來被 選中的人 1個或者2個 離開隊伍。輸入n,k,m輸出每輪裡被選中的人的編號 如果有兩個人,先輸出被a選中的 例如,...