一家超市要每天24小時營業,為了滿足營業需求,需要僱傭一大批收銀員。
已知不同時間段需要的收銀員數量不同,為了能夠僱傭盡可能少的人員,從而減少成本,這家超市的經理請你來幫忙出謀劃策。
經理為你提供了乙個各個時間段收銀員最小需求數量的清單r(0),r(1),r(2),…,r(23)。
r(0)表示午夜00:00到凌晨01:00的最小需求數量,r(1)表示凌晨01:00到凌晨02:00的最小需求數量,以此類推。
一共有n個合格的申請人申請崗位,第 i 個申請人可以從ti時刻開始連續工作8小時。
收銀員之間不存在替換,一定會完整地工作8小時,收銀台的數量一定足夠。
現在給定你收銀員的需求清單,請你計算最少需要僱傭多少名收銀員。
第一行包含乙個不超過20的整數,表示測試資料的組數。
對於每組測試資料,第一行包含24個整數,分別表示r(0),r(1),r(2),…,r(23)。
第二行包含整數n。
接下來n行,每行包含乙個整數ti。
每組資料輸出乙個結果,每個結果佔一行。
如果沒有滿足需求的安排,輸出「no solution」。
直接假設s24為答案,能找到非環就證明答案正確。
#include
using
namespace std;
typedef
long
long ll;
typedef pair<
int,
int> pii;
typedef
unsigned
long
long ull;
const
int n=
30,m=
110,inf=
0x3f3f3f3f
;int n;
int h[n]
,e[m]
,w[m]
,ne[m]
,idx;
int r[n]
,num[n]
;int dist[n]
;int q[n]
,cnt[n]
;bool st[n]
;void
add(
int a,
int b,
int c)
void
build
(int c)
}bool
spfa
(int c)}}
}return
true;}
intmain()
bool success =
false
;for
(int i=
0; i <=
1000
; i++)}
if(!success) cout<<
"no solution"
<
}return0;
}
LM393 尋跡原理
簡單的方式 直接說它是怎麼用的 複雜的方式 講解硬體電路原理 這裡我們為了滿足大部分人快速學習微控制器 或其他微處理器 的願望,先來說說簡單的方法 如圖,這是尋跡探頭,乙個發射探頭,乙個接收探頭。工作原理是 當發射探頭發出的光被物體反射,被接收探頭接收時,經過一系列過程 此處省略中間複雜的過程 最終...
SOJ 393 廣告印刷
題目描述 最近,afy 決定給 toj 印刷廣告,廣告牌是刷在城市的建築物上的,城市裡有緊靠著的 n nn 個建築。afy 決定在上面找一塊盡可能大的矩形放置廣告牌。我們假設每個建築物都有乙個高度,從左到右給出每個建築物的高度 h 1h 1 h1 h 2h 2 h2 h nh n hn 且 0 00...
leetcode每日一題 393 除法求值
題目 給你乙個變數對陣列 equations 和乙個實數值陣列 values 作為已知條件,其中 equations i ai,bi 和 values i 共同表示等式 ai bi values i 每個 ai 或 bi 是乙個表示單個變數的字串。另有一些以陣列 queries 表示的問題,其中 q...