UESTC 1034 AC Milan VS Juventus 分狀況討論

AC Milan VS Juventus

Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others)
 

Kennethsnow and Hlwt both love football.ios

One day, Kennethsnow wants to review the match in  2003  between AC Milan and Juventus for the Championship Cup. But before the app

penalty shootout. he fell asleep.ide

The next day, he asked Hlwt for the result. Hlwt said that it scored  a : b  in the penalty shootout.post

Kennethsnow had some doubt about what Hlwt said because Hlwt is a fan of Juventus but Kennethsnow loves AC Milan.this

So he wanted to know whether the result can be a legal result of a penalty shootout. If it can be, output Yes, otherwise output No.idea

The rule of penalty shootout is as follows:spa

  • There will be  5  turns, in each turn,  2  teams each should take a penalty shoot. If goal, the team get  1  point. After each shoot, if the code

  • winner can be confirmed(i.e: no matter what happened after this shoot, the winner will not change), the match end immediately.orm

  • If after  5  turns the  2  teams score the same point. A new turn will be added, until that one team get a point and the other not in a turn.blog

Before the penalty shootout begins, the chief referee will decide which team will take the shoot first, and afterwards, two teams will take shoot 

one after the other. Since Kennethsnow fell asleep last night, he had no idea whether AC Milan or Juventus took the first shoot.

Input

The only line contains  2  integers  a b . Means the result that Hlwt said.

0a,b10     

Output

Output a string Yes or No, means whether the result is legal.

Sample input and output

Sample Input Sample Output
3 2
Yes
2 5
No

Hint

The Sample  1  is the actual result of the match in  2003 .

The Sample  2 , when it is  2 : 4  after  4  turns, AC Milan can score at most  1 point in the next turn. So Juventus has win when it is  2 : 4 . So the result cannot be  2 2: 5 5.

This story happened in a parallel universe. In this world where we live, kennethsnow is a fan of Real Madrid.

Source

The 13th UESTC Programming Contest Preliminary
The question is from   here.

My Solution

分狀況討論清楚就好。而後注意 a == b 的時候也是 No
把分類出來的區間理清楚。不要條件裏面混雜着不應包括的東西

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;

int main()
{
    int a, b;
    scanf("%d%d", &a, &b);
    if(a == b )printf("No");
    else if((a == 5 && b <5) || (b == 5&& a <5)) {if(abs(a-b) >= 3) printf("No");else printf("Yes"); }  //!!
    else if(a < 5 && b <5) {if(abs(a-b) >= 4) printf("No");else printf("Yes"); }
    else {if(abs(a-b) > 1) printf("No");else printf("Yes"); }
    return 0;
}
Thank you all!
相關文章
相關標籤/搜索