头像
郑.
发布于 2020-02-08 15:28
+ 关注

质疑

这道题不能够想当然吧!

此处贴上已通过的代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c,x,y,z;
    cin>>a>>b>>c>>x>>y>>z;
    long long ans=0;
    ans+=y<=a?y:a;
    ans+=z<=b?z:b;
    ans+=x<=c?x:c;
    cout<<ans;
    return 0;
}
我的质疑:
    直接上例子: 若牛牛出石头、剪刀和布的次数依次为3,2,1;牛可乐出石头、剪刀和布的次数依次为1,2,3。按照已通过的代码的思路走一遍的话,得出的答案应该是5,可是正确答案应该是4。如题所示,a,b,c,x,y,z依次表示牛牛出石头、剪刀和布的次数和牛可乐出石头、剪刀和布的次数
        a(3) > y(2); ans = 2(y);
        b(2) < z(3); ans += 2(b) --> ans = 4;
        c(1) = x(1); ans += 1(c或x) --> ans = 5;
可是此时牛牛还剩1次石头(a)没有出,牛可乐还有1次布(z)没有出,所以最后一次牛牛必输,ans -= 1;
综上所述:答案是4,并非已通过程序跑出来的5!

全部评论

(6) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐