• 洛谷 3111 [USACO14DEC]牛慢跑Cow Jog_Sliver 题解


    本蒟蒻又来发题解了,
    一道较水的模拟题。
    题意不过多解释,
    思路如下:
    在最开始的时候求出每头牛在t秒的位置(最终位置
    然后,如果后一头牛追上了前一头牛,那就无视它,
    把它们看成一个整体。
    else
    就++ ans;
    上代码:

    #include<bits/stdc++.h>
    using namespace std;
    //要开long long 
    long long n, t, ans = 1, last[100010];
    struct node
    {
     long long s, p;
    }a[100010];
    int main()
    {
     scanf("%lld%lld", &n, &t);//输入 
     for(int i = 1; i <= n; ++ i)
     {
      scanf("%lld%lld", &a[i].p, &a[i].s);//输入 
      last[i] = a[i].p + a[i].s * t;//记录下它的最终位置。 
     }
     for(int i = n - 1; i >= 1; -- i)
     {
      if(last[i] >= last[i + 1])//如果,追上来,就看成一样的 
       last[i] = last[i + 1];
      else
       ++ ans;//++ ans 
     }
     printf("%lld", ans);//输出 
     return 0;
    }
    
  • 相关阅读:
    2.搭建第一个http服务:三层架构
    1.基础入门
    MyISAM和InnoDB索引区别
    分区
    事务的四大特性
    事务
    String
    自己写native方法
    序列化和反序列化
    反射
  • 原文地址:https://www.cnblogs.com/Flash-plus/p/12028333.html
Copyright © 2020-2023  润新知