1 条题解

  • 0
    @ 2026-4-1 20:32:51

    这题的思路也就是看 (1,1)到(n,m)的距离 则最小步数就是n+m-2 那么就判断步数是否够 就像测试的第三组数据 5 5 2 5+5-2=8 则最小消耗步数为8 但2远远不够 再看 因为最优路线是刚好到终点的 则可以这样消耗步数: ← →或↑ ↓ 但是每次都消耗了两次 (或以上,但必定是2的倍数) 所以就可以看n+m-2是否是2的倍数了 代码:

    #include<bits/stdc++.h> 
    using namespace std;
    int main(){ 
    long long a; 
    cin>>a; 
    for(int i=1;i<=a;i++){ 
    long long n,m,k,nm; 
    cin>>n>>m>>k; 
    nm=n+m-2;
    if(nm>k){
    cout<<"No\n"; 
    continue;
    } 
    nm=nm-k%2;
    if(nm%2==0){
    cout<<"Yes\n";
    }else{ 
    cout<<"No\n"; 
    }
    }
    return 0; 
    }
    

    明明看到了比赛结果1分钟后结束我连口热乎饭都没吃上www

    信息

    ID
    28502
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    104
    已通过
    23
    上传者