zoukankan      html  css  js  c++  java
  • toj 3098 Event Planning

    3098.   Event Planning
    Time Limit: 5.0 Seconds   Memory Limit: 65536K
    Total Runs: 134   Accepted Runs: 67    Multiple test files



    As you didn't show up to the yearly general meeting of the Nordic Club of Pin Collectors, you were unanimously elected to organize this years excursion to Pin City. You are free to choose from a number of weekends this autumn, and have to find a suitable hotel to stay at, preferably as cheap as possible.

    You have some constraints: The total cost of the trip must be within budget, of course. All participants must stay at the same hotel, to avoid last years catastrophe, where some members got lost in the city, never being seen again.

    Input

    The first line of input consists of four integers: 1 ≤ N ≤ 200, the number of participants, 1 ≤ B ≤ 500000, the budget, 1 ≤ H ≤ 18, the number of hotels to consider, and 1 ≤ W ≤ 13, the number of weeks you can choose between. Then follow two lines for each of the H hotels. The first gives 1 ≤ p ≤ 10000, the price for one person staying the weekend at the hotel. The second contains W integers, 0 ≤ a ≤ 1000, giving the number of available beds for each weekend at the hotel.

    Output

    Output the minimum cost of the stay for your group, or "stay home" if nothing can be found within the budget.

    Sample Input

    3 1000 2 3
    200
    0 2 2
    300
    27 3 20

    Sample Output

    900

    Sample Input 2

    5 2000 2 4
    300
    4 3 0 4
    450
    7 8 0 13
    

    Sample Output 2

    stay home
    


    Source: Nordic Collegiate Contest 2008
    Submit   List    Runs   Forum   Statistics

    #include <iostream>
    #include 
    <algorithm>
    #define MAX 10000
    using namespace std;
    int data[MAX];
    bool comp(int a,int b)
    {
        
    return a<b;
    }
    int n,b,h,w;
    int main()
    {
        
    int i,j,a;
        
    while(scanf("%d%d%d%d",&n,&b,&h,&w)!=EOF)
        {
            
    int k=0,m;
            
    for(i=0;i<h;i++)
            {
                scanf(
    "%d",&a);
                
    for(j=0;j<w;j++)
                {
                    scanf(
    "%d",&m);
                    
    if(m<n)
                        
    continue;
                    
    if(n*a>b)
                        
    continue;
                    data[k
    ++]=n*a;
                }
            }
            sort(data,data
    +k,comp);
            
    if(k==0)
                printf(
    "stay home\n");
            
    else
                printf(
    "%d\n",data[0]);
        }
        
    return 0;
    }
  • 相关阅读:
    C#算法,二叉树,单链表,反向链表,stack栈
    系统架构师学习笔记_第十一章(上)_连载
    系统架构师学习笔记_第四章(下)_连载
    [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
    含HTML标记的内容分页 (C#)
    PowerShell在SharePoint 2010自动化部署中的应用(1)代码获取
    走向ASP.NET架构设计第一章:走向设计
    asp.net 遍历XML文件节点信息
    系统架构师学习笔记_第一章_连载
    AOP 你想干什么 IOC 你服务什么
  • 原文地址:https://www.cnblogs.com/forever4444/p/1471066.html
Copyright © 2011-2022 走看看