zoukankan      html  css  js  c++  java
  • uva 10273(模拟)

    题意:有若干个牛每个牛有一个序列每一天这头牛产奶d%tn单位(d当前天数,tn为序列长度)每天产奶最少的会被吃掉,如果有多头产奶一样少则什么也不吃。问最后会留下多少头牛,最后一头被吃掉的牛是在哪一天。

    思路:水题。纯模拟每天更新牛的产奶数量,然后把它去掉。若是天数超多lcm(1-10)则不会再有牛吃了。

    代码如下:

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 #include <algorithm>
     6 #include <utility>
     7 #include <queue>
     8 #include <stack>
     9 #include <vector>
    10 #define ll long long
    11 #define INF 0x7fffffff
    12 #define eps 1E-6
    13 #define LEN 1010
    14 #define pb(a) push_back(a)
    15 
    16 using namespace std;
    17 
    18 int n, num[LEN];
    19 vector<int> milk[LEN];
    20 
    21 int main()
    22 {
    23 //    freopen("in.txt", "r", stdin);
    24 
    25     int T;
    26     scanf("%d", &T);
    27     while(T--){
    28         scanf("%d", &n);
    29         for(int i=0; i<LEN; i++)milk[i].clear();
    30         for(int i=0; i<n; i++){
    31             scanf("%d", &num[i]);
    32             for(int j=0; j<num[i]; j++){
    33                 int v;
    34                 scanf("%d", &v);
    35                 milk[i].pb(v);
    36             }
    37         }
    38         int loc = -1, cnt = n, dm[LEN], vis[LEN];
    39         memset(vis, 0, sizeof vis);
    40         memset(dm, 0, sizeof dm);
    41         for(int d=0; ;d++){
    42             if(d-loc>700 || cnt==0)break;
    43             int Minpos = -1, Min = INF;
    44             for(int i=0; i<n; i++){
    45                 if(vis[i])continue;
    46                 dm[i] = milk[i][d%num[i]];
    47                 if(Min==dm[i])Minpos = -1;
    48                 if(Min>dm[i]){
    49                     Min = dm[i];
    50                     Minpos = i;
    51                 }
    52             }
    53             if(Minpos!=-1){
    54                 vis[Minpos] = 1;
    55                 loc = d;
    56                 cnt--;
    57             }
    58         }
    59         printf("%d %d
    ", cnt, loc+1);
    60     }
    61     return 0;
    62 }
    View Code
    奔跑吧!少年!趁着你还年轻
  • 相关阅读:
    qbzt day6 上午
    qbzt day5 下午
    qbzt day5 上午
    【7.24校内交流赛】T3【qbxt】复读警告
    【7.24校内交流赛】T1&T2
    一个一定要好好提溜出来的贪心题
    7.19 讲题
    DP大大大大大赏
    图论经典例题大赏
    数据结构题大赏
  • 原文地址:https://www.cnblogs.com/shu-xiaohao/p/3493297.html
Copyright © 2011-2022 走看看