作業調度C語言編寫,【作業調度方案】 (C語言代碼)

解題思路:

4ed5a55e40a560e0ba93b6d0773ed5fe.png

如圖所示,對于第一組樣例輸入,按照總工序提供的順序,對于每個工件的工序從小到大,每次尋找有空閑機器的“空檔”插入,就能讓總加工時間最短。

注意事項:

按照約定,最短方案有且只有一種。

參考代碼:#include

int?w[21];????????????????????????????????????//當前安排的工件處于幾號工序

int?u[501];???????????????????????????????????//安排幾號工件進入總工序

int?lt[21];???????????????????????????????????//當前安排的工件幾時結束

int?t[21][21];????????????????????????????????//每個工件的每個工序的加工時間

int?d[21][21];????????????????????????????????//每個工件的每個工序所使用的機器號

int?c[21][501];???????????????????????????????//每個機器在工件完成后某時間段內是否被占用

int?main(){

int?max(int,int);

int?i,j,k,m,n,ans=0,s=0;

scanf("%d%d",&m,&n);

for(i=1;i<=m*n;i++)?scanf("%d",&u[i]);????//輸入總工序

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

scanf("%d",&d[i][j]);?????????????//輸入第1個工件第j個工序所使用的機器號

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

scanf("%d",&t[i][j]);?????????????//輸入第i個工件第j個工序的加工時間

for(i=1;i<=n*m;i++){

w[u[i]]++;????????????????????????????//總工序中第i個工件處于幾號工序

for(j=lt[u[i]]+1;;j++){???????????????//總工序中工件u[i]當前工序若能完成的時間段

if(c[d[u[i]][w[u[i]]]][j]==0)?s++;//工件u[i]在當前工序所使用的機器未被占用時長

else?s=0;

if(s==t[u[i]][w[u[i]]]){??????????//工件u[i]在當前工序的加工時間

for(k=j-s+1;k<=j;k++)?????????//在j之前的這段時間s

c[d[u[i]][w[u[i]]]][k]=1;?//安排工件u[i]在當前工序占用相應的機器

lt[u[i]]=j;???????????????????//工件u[i]的完成時間

s=0;

break;

}

}

}

for(i=1;i<=n;i++)

ans=max(ans,lt[i]);???????????????????//工序中最后一個工件的完成時間

printf("%d",ans);

return?0;

}

int?max(int?a,int?b){

return?a>b?a:b;

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529127.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529127.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529127.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python判斷能否組成三角形_python三角形判定怎么做

python三角形判定怎么做&#xff1f;下面給大家帶來具體的例子&#xff1a; 相關推薦&#xff1a;《Python視頻教程》 例子&#xff1a;a int(input("The length of the side a ")) b int(input("The length of the side b ")) c int(input("The…

文件的記錄c語言程序,c語言程序學生籍貫信息記錄簿設計.docx

c 語言程序學生籍貫信息記錄簿設計學生籍貫信息記錄簿課程設計報告書班 級: 方 0909-1 學 號:姓 名: 苑 小 葉 指導教師 : 康 亞 男 石家莊鐵道大學四方學院2010年 07月 14日1課程設計報告內容1. 選擇題目題目: 學生籍貫信息記錄簿設計 2. 內容摘要摘要:學生籍貫信息管理系統是…

如何修改linux的java路徑_修改桌面文件默認存儲位置的正確方式及注意事項

之前寫了篇關于如何修改桌面文件默認存儲位置&#xff0c;許多人在修改后出現各種問題&#xff0c;今天重新來講解一下關于修改桌面文件默認存儲位置的正確方式及注意事項。第一步、在E盤下創建一個文件夾&#xff0c;隨便取個名字&#xff0c;或者默認為【新建文件夾】&#x…

secp256r1 c語言程序,rust代碼閱讀 之 libsecp256k1 (1)

在密碼學的運算中, 數字通常是非常大的. 以 ECDSA 橢圓曲線為例, 私鑰是 256 位的.所以在 libsecp256k1 這個庫里, 定義了計算的元素 Field. 其中 n 為 320 位.pub struct Field {pub(crate) n: [u32; 10],pub(crate) magnitude: u32,pub(crate) normalized: bool,}為其實現加法…

python位運算符_詳細介紹Python語言中的按位運算符

按位運算符是把數字看作二進制來進行計算的。Python中的按位運算法則如下&#xff1a; 按位與 ( bitwise and of x and y ) & 舉例&#xff1a; 5&3 1 解釋&#xff1a; 101 11 相同位僅為個位1 &#xff0c;故結果為 1 按位或 ( bitwise or of x and y ) | 舉例&…

c語言代碼測試電腦性能,【圖片】今天寫幾個性能測試,為什么C語言跑得這么慢呢??【c語言吧】_百度貼吧...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓易言版本……跑100000萬成績不如PHP。。。。.版本 2.程序集 程序集1.子程序 _啟動子程序, 整數型, , 本子程序在程序啟動后最先執行.局部變量 參數, 文本型, , "0".局部變量 to, 整數型.局部變量 fr, 整數型.局部變量 n,…

python find函數 和index的區別_使用帶有find和index的map時Python2和Python3之間的區別...

給定一個模式和一個字符串str,找到str是否遵循相同的模式. 以下是完全匹配,使得在模式中的字母和str中的非空字之間存在雙射. 例子&#xff1a; pattern “abba”,str “dog cat cat dog”應該返回true;狗是一只貓,貓是b,而這些詞形成了abba模式. pattern “abba”,str “dog c…

c語言3368題目,電大《C語言程序設計課程》期末考試復習資料

0993C 評議程序設計A 第 1 頁 共 31 頁C 語言程序設計課程期末復習練習一、單選題 1&#xff0e;在每個C 語言程序中都必須包含有這樣一個函數&#xff0c;該函數的函數名為( )。A. main 2&#xff0e;每個C 語言程序文件的編譯錯誤分為( )類。B. 2 3. 字符串"ab12\n"…

【LeetCode】鏈表精選12題

目錄 快慢指針&#xff1a; 1. 相交鏈表&#xff08;簡單&#xff09; 2. 環形鏈表&#xff08;簡單&#xff09; 3. 快樂數&#xff08;簡單&#xff09; 4. 環形鏈表 II&#xff08;中等&#xff09; 5. 刪除鏈表的倒數第 N 個節點&#xff08;中等&#xff09; 遞歸迭…

python類的屬性和對象屬性_python 類屬性、對象屬性-阿里云開發者社區

類的普通屬性:  dir(Myclass), 返回一個key列表&#xff1b; Myclass.__dir__,返回一個字典&#xff1b; 1、類的數據屬性&#xff1b; 2、類的方法&#xff1b; 類的特殊屬性&#xff1a; 1、Myclass.__name__  類的名字 2、Myclass.__doc__   類的文檔字符串 3、Mycla…

擊鼓傳花c語言編程題,c語言-第5章 循環程序設計.ppt

《c語言-第5章 循環程序設計.ppt》由會員分享&#xff0c;可在線閱讀&#xff0c;更多相關《c語言-第5章 循環程序設計.ppt(83頁珍藏版)》請在人人文庫網上搜索。1、第5章 循環程序設計,管理學院 電子商務系,2,第5章 循環程序設計,5.1 概述 5.2 while和do while循環 5.3 for循環…

python快速檢測視頻跳過幀_python實現視頻分幀效果

本文實例為大家分享了python實現視頻分幀的具體代碼&#xff0c;供大家參考&#xff0c;具體內容如下 import cv2 vidcap cv2.VideoCapture(005.avi) success,image vidcap.read() count 0 success True while success: success,image vidcap.read() cv2.imwrite("fr…

最大素數c語言,for語句計算輸出10000以內最大素數怎么搞最簡單??各位大神們...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include #include int* pt NULL; // primes_tableint pt_size 0; // primes_table 數量大小int init_primes_table(void){FILE* pFile;pFile fopen("primes_table.bin", "rb");if (pFile NULL) {fputs(&q…

python去重保留唯一一個值_Python DataFrame使用drop_duplicates()函數去重(保留重復值,取重復值)...

摘要 在進行數據分析時&#xff0c;我們經常需要對DataFrame去重&#xff0c;但有時候也會需要只保留重復值。 這里就簡單的介紹一下對于DataFrame去重和取重復值的操作。 創建DataFrame 這里首先創建一個包含一行重復值的DataFrame。2.DataFrame去重&#xff0c;可以選擇是否保…

自定義日歷控android,Android 一個日歷控件的實現小記

先看幾張動態的效果圖吧&#xff01;這里主要記錄一下在編寫日歷控件過程中一些主要的點&#xff1a;一、主要功能1、支持農歷、節氣、常用節假日2、日期范圍設置&#xff0c;默認支持的最大日期范圍[1900.1~2049.12]3、禁用日期范圍設置4、初始化選中單個或多個日期5、單選、多…

python先返回再處理_python xpath解析返回對象怎么處理

3 4 5 text 6 7 ... 8 ... 9 ......10 11 12 ...13 ...14 ......15 16 17 18

android文件讀取工具類,Android 下讀取Assets Properties操作封裝工具類

Android 下讀取Assets Properties操作封裝工具類發布時間&#xff1a;2018-06-03作者&#xff1a;laosun閱讀(2081)為了方便使用&#xff0c;首先創建BaseApplication類&#xff0c;如下所示&#xff1a;import android.app.Application;import android.content.Context;/*** C…

python粘性拓展_如何將tkinter小部件置于粘性框架中

在google中使用“如何使tkinter網格擴展”&#xff0c;我遇到了這個問題。 引用布萊恩奧克利的話Rows and columns have "weight" which describes how they grow or shrink to fill extra space >in the master. By default a row or column has a weight of zer…

android 固件 編輯器,RK3288編譯 Android 5.1 固件

1 準備工作編譯 Android 對機器的配置要求較高&#xff1a;64 位 CPU16GB 物理內存交換內存30GB 空閑的磁盤空間用于構建&#xff0c;源碼樹另外占用大約 25GBUbuntu 14.04 操作系統八核i7&#xff0c;編譯完成需要一個半小時安裝 JDK 7:sudo apt-get install openjdk-7-jdkUbu…

python解壓到指定文件夾_在Python中壓縮和解壓文件

Python部落(python.freelycode.com)組織翻譯&#xff0c;禁止轉載&#xff0c;歡迎轉發。 如果你已經使用計算機一段時間&#xff0c;你可能遇到了.zip擴展名的文件。它們是可以保存許多其他文件&#xff0c;文件夾和子文件夾的壓縮內容的特殊文件。這種類型的文件在使用互聯網…