淘淘和蓝蓝一起去参加乒乓球比赛,算上他们一共有2∗N个人参加了此次比赛,共有N个乒乓台可供比赛。比赛分为若干轮,每一轮同时在第X个乒乓台(1≤X≤N)的两名选手展开一场对决,分出胜负后,败者前往第X+1个乒乓台(如果X=N,那么败者仍留在第N个乒乓台),胜者前往第X−1个乒乓台(如果X=1,那么胜者仍留在第1个乒乓台),接着再开始新的一轮,以此类推。
一开始淘淘在第A个乒乓台,蓝蓝在第B个乒乓台,他们想知道,至少经过多少轮,他们两才能在同一个乒乓台对决呢?
输入: 一行三个正整数N,A,B。
输出: 一行一个整数表示答案。
样例输入 5 2 3
样例输出 2
提示: 第一轮,淘淘赢下比赛来到第1个乒乓台,蓝蓝赢下比赛来到第2个乒乓台;
第二轮,淘淘赢下比赛仍留在第1个乒乓台,蓝蓝赢下比赛来到第1个乒乓台与淘淘汇合。
备注: 对于50%的数据,满足A和B的奇偶性相同
对于另外20%的数据,满足A=1,B=N
对于100%的数据,满足1≤A<B≤N,2≤N≤1018
我的代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,b;
cin>>n>>a>>b;
if(a%2==b%2)
cout<<(abs(a-b)/2);
else
{
if(a%2!=b%2)
cout<<(abs(a-b)/2)+1;
}
return 0;
}
为什么只能得60分?