zoukankan      html  css  js  c++  java
  • 水题2枚 Codevs1464&&Codevs1472

    1472 体检

     

     时间限制: 1 s
     空间限制: 64000 KB
     题目等级 : 白银 Silver
     
     
    题目描述 Description
      郑厂长不是正厂长
      也不是副厂长
      他根本就不是厂长
      只是公司的一个码农
      
      郑厂长所在的公司每一年都要组织员工体检,比如量身高体重、测血压之类的,今年也不例外。
      这次总共有N位员工接受体检,并且每个员工都需要做K个项目的检查才算完成整个体检的流程。现在来了M个医生为员工做身体检查,并且每一位医生都带齐了检查这K个项目的器材来(也就是说每个医生都能进行这K个项目中的任意一项检查)。
      体检的详细流程是这样的:
      公司事先制定好了M份体检单,每个医生手上都各自拿到一份体检单,上面已经安排好了检查的次序,以及每一次检查所对应的员工和项目。每个医生按照体检单上的次序为相应的员工做相应的项目检查。医生拿到的体检单上的名单也可以是空的,就是这个医生不需要检查任何员工的任何项目。
      当然,制定出的这M份体检单不能有问题存在,否则就会有混乱的情况发生。按照常理来说,同一个医生在同一时间只能为一个员工做一个项目的检查。另外,同一个员工在同一时间也只能进行一个项目的检查,当然,不同的医生或不同的员工可以在同一时间进行项目检查。现在假设每个员工的每个项目的检查时间都是一分钟(其它时间花费忽略不计,只考虑项目检查工作所花费的一分钟)。
      公司希望体检的工作越快完成越好,由于郑厂长大学期间曾经是一个ACMer,所以公司就将体检的安排工作交给了他,他需要计算出最快需要多少分钟能完成所有员工的体检工作。
    输入描述 Input Description
    输入的第一行为一个正整数T,表示有T组测试数据;
    接下去有T组测试数据,每组测试数据占一行,包含三个整数N,K,M,N表示员工的人数,K表示体检的项目数,M表示医生的人数。

    [Technical Specification]
    T<=1000
    1<=N<=100
    1<=K<=10
    1<=M<=100
    输出描述 Output Description
    对于每组数据,输出一个整数,表示最快需要多少分钟才能完成所有员工的体检工作。
    样例输入 Sample Input
    2
    2 1 1
    3 2 2
    样例输出 Sample Output

    2

    3

    数据范围及提示 Data Size & 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分钟即可完成体检工作。
    

    分类标签 Tags 点此展开 

     
    #include<cstdio>
    #include<iostream>
    using namespace std;
    int main(){
        int n,k,m,t;
        scanf("%d",&t);
        while(t--){
            scanf("%d%d%d",&n,&k,&m);
            if(m>=n) 
                printf("%d
    ",k);
            else
                printf("%d
    ",n*k%m==0?n*k/m:n*k/m+1);
        }
        return 0;
    } 

    1464 装箱问题 2

     

     时间限制: 1 s
     空间限制: 64000 KB
     题目等级 : 白银 Silver
     
     
    题目描述 Description

    一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。这些产品通常使用一个 6*6*h 的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的包裹数量。他们很需要有一个好的程序帮他们解决这个问题从而节省费用。现在这个程序由你来设计。 

    输入描述 Input Description

    输入文件包括几行,每一行代表一个订单。每个订单里的一行包括六个整数,中间用空格隔开,分别为1*1至6*6这六种产品的数量。输入文件将以6个0组成的一行结尾。

    输出描述 Output Description

    除了输入的最后一行6个0以外,输入文件里每一行对应着输出文件的一行,每一行输出一个整数代表对应的订单所需的最小包裹数。

    样例输入 Sample Input

    0 0 4 0 0 1
    7 5 1 0 0 0
    0 0 0 0 0 0

    样例输出 Sample Output

    2
    1

    数据范围及提示 Data Size & Hint

    数据范围很小,模拟即可

    分类标签 Tags 点此展开 

     
    #include<cstdio>
    using namespace std;
    bool flag;
    int main(){
        int ans,sb[7],x,y;
        int u[4]={0,5,3,1};
        for(;;){
            for(int i=1;i<=6;i++){
                scanf("%d",&sb[i]);
                if(sb[i]!=0&&!flag) flag=1;
            }
            if(!flag) break;
            ans=sb[6]+sb[5]+sb[4]+(sb[3]+3)/4;
            y=5*sb[4]+u[sb[3]%4];
            if(sb[2]>y)
                ans+=(sb[2]-y+8)/9;
            x=36*ans-36*sb[6]-25*sb[5]-16*sb[4]-9*sb[3]-4*sb[2];
            if(sb[1]>x)
                ans+=(sb[1]-x+35)/36;
            printf("%d
    ",ans);
            flag=0;
        }
        return 0;
    }
  • 相关阅读:
    Bump Mapping综述 (转)
    二进制表示(转)
    3D局部光照模型 (转)
    关于DEVMODE的数据结构显示设备的属性(转)
    The C++ Programming Language(一)
    The C++ Programming Language(二)
    linux_redhat9下安装FTP服务器
    oracle下用户相关问题整理
    Linux的基本命令学习与shell基本内容学习(2)
    winxp系统32位平台下利用oracle10g自带的DBCA(database configuration assistant)工具创建数据库
  • 原文地址:https://www.cnblogs.com/shenben/p/5647650.html
Copyright © 2011-2022 走看看