zoukankan      html  css  js  c++  java
  • HihoCoder

    题目链接

    思路:

    刚开始的时候,如果骨头数量足够多,没条狗都有骨头吃,可以直接 m-=n。如果不大于,那就剪枝出去了

    当骨头足够多的时候,按照时间的路线,吃的快的狗总是先吃。如果骨头没了,over

     1 /*
     2     Name:
     3     Copyright:
     4     Author:
     5     Date: 2018/5/7 20:13:00
     6     Description:
     7 */
     8 #include <algorithm>
     9 #include <iostream>
    10 #include <cstdio>
    11 #include <cstring>
    12 using namespace std;
    13 int arr[105];
    14 int speed[105];
    15 int main()
    16 {
    17     int m, n, x;
    18     ios::sync_with_stdio(false);
    19     while (cin>>m>>n>>x)  {
    20         memset(arr, 0, sizeof(arr));
    21         memset(speed, 0, sizeof(speed));
    22         for (int i=0; i<n; i++) cin>>speed[i];
    23         sort (speed, speed+n);
    24         for (int i=1;i <= x; i++) {
    25             if (m <= 0) break;
    26             for (int j=0; j<n; j++) {
    27                 if (m <= 0) break;
    28                 if (arr[j] == 0) m--;
    29                 if (i % speed[j] == 0) {
    30                     arr[j] = 0;
    31                 } else arr[j] = 1;
    32             }
    33         }
    34         int sum = 0;
    35         for (int i=0; i<n; i++) {
    36             if (arr[i] != 0)sum++;
    37         }
    38         cout<<m<<" "<<sum<<endl;
    39     }
    40     return 0;
    41 }
  • 相关阅读:
    [转载]解析用户生命周期价值:LTV
    [整理]VS2013常用插件
    Extjs4 tabpanel 中表单定宽居中
    idea创建ssm项目
    shiro框架的学习
    mysql
    springboot
    idea配置
    Spring MVC
    关于web乱码问题
  • 原文地址:https://www.cnblogs.com/langyao/p/9004960.html
Copyright © 2011-2022 走看看