jzoj1217. 軟體開發(2023年8月b組)。
乙個軟體開發公司同時要開發兩個軟體,並且要同時交付給使用者,現在公司為了盡快完成這一任務,將每個軟體劃分成m個模組,由公司裡的技術人員分工完成,每個技術人員完成同一軟體的不同模組的所用的天數是相同的,並且是已知的,但完成不同軟體的乙個模組的時間是不同的,每個技術人員在同一時刻只能做乙個模組,乙個模組只能由乙個人獨立完成而不能由多人協同完成。乙個技術人員在整個開發期內完成乙個模組以後可以接著做任一軟體的任一模組。寫乙個程式,求出公司最早能在什麼時候交付軟體。
input
輸入檔案第一行包含兩個由空格隔開的整數n和m,其中1<=n<=100,1<=m<=100,接下來的n行每行包含兩個用空格隔開的整數d1和d2,d1表示該技術人員完成第乙個軟體中的乙個模組所需的天數,d2表示該技術人員完成第二個軟體中的乙個模組所需的天數,其中1<= d1,d2<=100。
output
輸出檔案僅有一行包含乙個整數d,表示公司最早能於d天後交付軟體。
sample input
3 20
1 12 4
1 6sample output
data constraint
hint
【樣例解釋】
最快的方案是第乙個技術人員完成第二個軟體的18個模組,用時18天,第三個技術人員完成第乙個軟體的18個模組,用時18天,其餘的模組由第二個技術人員完成,用時12天,做完所有模組需要18天。如果第乙個技術人員完成第二個軟體的17個模組,第三個技術人員完成第乙個軟體的17個模組,其餘的模組由第二個技術人員完成,需要用時18天,做完所有模組仍然需要18天,所以少於18天不可能做完所有模組。
想法:先二分答案,設天數為x,那麼判定性dp
設f[i,j]為到第i個程式設計師,完成j個第乙個軟體模組後,最多能完成多少個第二個軟體模組
f[i,j]=max(f[i-1,j-k]+(x-a[i]*k)/b[i]);(k=1~j,k*a[i]
python軟體開發目錄 軟體開發目錄規範
為了提高程式的可讀性與可維護性,我們應該為軟體設計良好的目錄結構,這與規範的編碼風格同等重要。軟體的目錄規範並無硬性標準,只要清晰可讀即可,假設你的軟體名為foo,筆者推薦目錄結構如下 foo core 存放業務邏輯相關 core.py api 存放介面檔案,介面主要用於為業務邏輯提供資料操作。ap...
迭代軟體開發
迭代軟體開發 整理 一 迭代軟體開發介紹 在迭代式開發方法中,整個開發工作被組織為一系列的短小的 固定長度 如 3周 的小專案,被稱為一系列的迭代。每一次迭代都包括了需求分 析 設計 實現與測試。採用這種方法,開發工作可以在需求被完整地確定之前啟動,並在一次迭代中完成系統的一部分功能或業務邏輯的開發...
軟體開發流程
課程的主講老師是msdn的特約講師邵志東先生。課程中間,邵志東老師介紹了軟體開發流程 程式設計師基本素質 關於質量控制和開發模板及專案組建設。邵老師首先介紹了軟體開發的流程,他把軟體開發分為了兩大類,即專案開發及產品開發。專案開發是公司根據某一客戶的需求單獨為某一客戶訂製的軟體 產品開發是公司針對某...