zoukankan      html  css  js  c++  java
  • hoj 3043 mysterious

    /*
    
    题目:
        每一天都只能每一种鱼,并且买了这种鱼后,在以后每周的该天都得买那种鱼。
        另外如果某一天没买鱼的话,就不能在以后买鱼了(已被饿死。。。)。现在
        给出n天每一种鱼的价格,并且给出你拥有的价钱,问你什么时候不能再买鱼了
    
    分析:
        map[i,j]表示从第一天开始买了j种鱼到i天时所用的总价钱。然后从后面开始枚举
        答案,枚举一周内每天所使用的价钱总和若不大于你拥有的金钱时就输出答案
    
    */
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    
    using namespace std;
    
    const int X = 10002;
    const int maxn = 51;
    
    int map[X][maxn];
    int n,m,budge;
    
    int main()
    {
        freopen("sum.in","r",stdin);
        while(cin>>n>>m>>budge)
        {
            for(int i=0;i<n;i++)
                for(int j=0;j<m;j++)
                    scanf("%d",&map[i][j]);
            for(int i=7;i<n;i++)
                for(int j=0;j<m;j++)
                    map[i][j] += map[i-7][j];
            int ans;
            int sum = 0;
            for(ans=n;ans>0;ans--)
            {
                sum = 0;
                for(int i=ans-1;i>=0&&i>=ans-7;i--)
                {
                    int MIN = 1e9;
                    for(int j=0;j<m;j++)
                        MIN = min(MIN,map[i][j]);
                    if(MIN>budge)
                    {
                        sum = 1e9;
                        break;
                    }
                    sum += MIN;
                    if(sum>budge)
                        break;
                }
                if(sum<=budge)
                    break;
            }
            cout<<ans<<endl;
        }
        return 0;
    }
  • 相关阅读:
    什么是“方法”
    break与continue
    循环结构2
    循环结构1
    Switch多选择结构
    if选择结构
    Scanner方法
    Doc参数信息
    运算符号
    变量与常量
  • 原文地址:https://www.cnblogs.com/yejinru/p/2608077.html
Copyright © 2011-2022 走看看