鄭廠長系列故事——體檢(4519)

鄭廠長不是正廠長
  也不是副廠長
  他根本就不是廠長
  只是公司的一個碼農
  
  鄭廠長所在的騰訊公司每一年都要組織員工體檢,比如量身高體重、測血壓之類的,今年也不例外。
  這次總共有N位員工接受體檢,並且每個員工都需要做K個項目的檢查纔算完成整個體檢的流程。現在來了M個醫生爲員工做身體檢查,並且每一位醫生都帶齊了檢查這K個項目的器材來(也就是說每個醫生都能進行這K個項目中的任意一項檢查)。
  體檢的詳細流程是這樣的:
  公司事先制定好了M份體檢單,每個醫生手上都各自拿到一份體檢單,上面已經安排好了檢查的次序,以及每一次檢查所對應的員工和項目。每個醫生按照體檢單上的次序爲相應的員工做相應的項目檢查。醫生拿到的體檢單上的名單也可以是空的,就是這個醫生不需要檢查任何員工的任何項目。
  當然,制定出的這M份體檢單不能有問題存在,否則就會有混亂的情況發生。按照常理來說,同一個醫生在同一時間只能爲一個員工做一個項目的檢查。另外,同一個員工在同一時間也只能進行一個項目的檢查,當然,不同的醫生或不同的員工可以在同一時間進行項目檢查。現在假設每個員工的每個項目的檢查時間都是一分鐘(其它時間花費忽略不計,只考慮項目檢查工作所花費的一分鐘)。
  公司希望體檢的工作越快完成越好,由於鄭廠長大學期間曾經是一個ACMer,所以公司就將體檢的安排工作交給了他,他需要計算出最快需要多少分鐘能完成所有員工的體檢工作。
 

Input
輸入的第一行爲一個正整數T,表示有T組測試數據;
接下去有T組測試數據,每組測試數據佔一行,包含三個整數N,K,M,N表示員工的人數,K表示體檢的項目數,M表示醫生的人數。

[Technical Specification]
T<=1000
1<=N<=100
1<=K<=10
1<=M<=100
 

Output
對於每組數據,輸出一個整數,表示最快需要多少分鐘才能完成所有員工的體檢工作。
 

Sample Input
2 2 1 1 3 2 2
 

Sample Output
2 3
Hint
對於第二組數據體檢單的安排可以是如下情況: 第1個醫生的體檢單:員工A的項目1、員工A的項目2、員工B的項目2; 第2個醫生的體檢單:員工B的項目1、員工C的項目1、員工C的項目2。 第一分鐘:第1個醫生檢查員工A的項目1,而第2個醫生檢查員工B的項目1; 第二分鐘:第1個醫生檢查員工A的項目2,而第2個醫生檢查員工C的項目1; 第三分鐘:第1個醫生檢查員工B的項目2,而第2個醫生檢查員工C的項目2;

這樣就只需要3分鐘即可完成體檢工作。

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <ctype.h>
int main()  
{	
	int t,n,k,m,sum;
	scanf("%d",&t);
	while(t--)
	{	sum=0;
		scanf("%d %d %d",&n,&k,&m);
		if(m>=n)    //醫生多
		{
			sum+=k;
		}
		else	   //病人多
		{	
			if((n*k)%m==0)
			sum+=(n*k)/m;
			else
			{
				sum+=(n*k)/m;
				sum+=1;
			}
		}
		printf("%d\n",sum);
	}
	
    return 0;  
}



發佈了82 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章