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:
情况还是比较单一的;
- 考虑两个极端,就是如果不确定的全部投给upvotes 或者downvote 时只要小于另一个,那么必然是输出大的那个代表的结果;
- 当x=y时z为零,那么就是输出0;
- 最后剩下的情况就是?了;
#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;
}