codefoces-Nauuo and Votes

A. Nauuo and Votes
题目链接

Nauuo is a girl who loves writing comments.

One day, she posted a comment on Codeforces, wondering whether she would get upvotes or downvotes.

It’s known that there were x persons who would upvote, y persons who would downvote, and there were also another z persons who would vote, but you don’t know whether they would upvote or downvote. Note that each of the x+y+z people would vote exactly one time.

There are three different results: if there are more people upvote than downvote, the result will be “+”; if there are more people downvote than upvote, the result will be “-”; otherwise the result will be “0”.

Because of the z unknown persons, the result may be uncertain (i.e. there are more than one possible results). More formally, the result is uncertain if and only if there exist two different situations of how the z persons vote, that the results are different in the two situations.

Tell Nauuo the result or report that the result is uncertain.

Input
The only line contains three integers x, y, z (0≤x,y,z≤100), corresponding to the number of persons who would upvote, downvote or unknown.

Output
If there is only one possible result, print the result : “+”, “-” or “0”.

Otherwise, print “?” to report that the result is uncertain.

Examples
input
3 7 0
output
input
2 0 1
output
+
input
1 1 0
output
0
input
0 0 1
output
?
Note
In the first example, Nauuo would definitely get three upvotes and seven downvotes, so the only possible result is “-”.

In the second example, no matter the person unknown downvotes or upvotes, Nauuo would get more upvotes than downvotes. So the only possible result is “+”.

In the third example, Nauuo would definitely get one upvote and one downvote, so the only possible result is “0”.

In the fourth example, if the only one person upvoted, the result would be “+”, otherwise, the result would be “-”. There are two possible results, so the result is uncertain.

(简单题)
题意:给你三个数据x,y,z,分别代表upvotes downvote unknown ;
前面的upvotes downvote是确定的投票人,我们要解决的是判断
如果有更多的人投票而不是downvote,结果将是“+”; 如果有更多的人投票而不是upvote,结果将是“ - ”; 否则结果将为“0”。
solution:
情况还是比较单一的;

  1. 考虑两个极端,就是如果不确定的全部投给upvotes 或者downvote 时只要小于另一个,那么必然是输出大的那个代表的结果;
  2. 当x=y时z为零,那么就是输出0;
  3. 最后剩下的情况就是?了;
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    if(a>b+c)
        cout<<"+";
    else if(b>a+c)
        cout<<"-";
    else if(a==b&&c==0)
    cout<<"0";
    else
        cout<<"?";
    return 0;
}
全部评论

相关推荐

offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
vegetable_more_exercise:1-1.5万,没错啊,最少是1人民币,在区间内
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务