请问可以直接这样吗?不能提交,

P3111 [USACO14DEC] Cow Jog S

yu55555 @ 2019-08-30 17:39:58

思路是,按位置把每头牛与后面的比较看能否追上,能的话n--,然后看下一头牛,直到倒数第二头

#include<bits/stdc++.h>
#define ll long long
#define debug(x) cout<<"["<<x<<"]" <<endl;
#define mem(a,b) memset(a,b,sizeof(a));
#define f(x,y) for(ll x=1;x<=y;x++)
#define inf 0x3f3f3f3f
using namespace std;
ll n,t,res;

int main(){
    int p,s,p2,s2;
    cin>>n>>t;
    res=n;
    cin>>p>>s;
    f(i,n-1){
        cin>>p2>>s2;
        if(s2<s&&(s-s2)*t>=(p2-p))res--;
        p=p2;
        s=s2;
    }
    cout<<res;
    return 0;
}

by infinities @ 2019-08-30 17:49:55

标题不清qwq


by yu55555 @ 2019-08-30 17:57:28

请问有大佬帮忙提交一下吗


by yu55555 @ 2019-08-30 18:02:25

@装弱是种美德 请问能帮忙提交一下吗,谢谢了


by infinities @ 2019-08-30 18:09:34

@yu55555 泥确定


by yuyc @ 2019-08-30 18:24:22

@yu55555 没必要这么懒吧


by yuyc @ 2019-08-30 18:25:01

define五个


by yuyc @ 2019-08-30 18:27:54

@yu55555 亲测1ac 14wa还我提交次数


by yu55555 @ 2019-08-30 18:49:18

思路不知道有什么问题,我就是一个一个判断他速度是否比后面的快,快的话再判断t时间内能不能追上,能的话就合并,减一,然后再判断后一头牛,


by yu55555 @ 2019-08-30 18:49:55

@yuyc 嗯嗯,谢谢了,思路也不知道哪出错了


by yu55555 @ 2019-08-30 19:05:40

哦哦,我知道了,不能正着来,因为 可能第一头牛追不上第二头,但是如果第二头牛被第三头牛挡住了,那么第一头牛是有可能追上第二头的,所以只能从最后一头牛开始考虑,然后更新被堵住牛的速度和位置


|