首页 > 其他 > 详细

B. Different Rules

时间:2020-03-01 23:07:44      阅读:91      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

思路:

最坏的情况就是凑和为 x+y ,可以凑 x+y-1 对

最好的情况就是 :

1、x+y <= n

那么我们让 1 和 n,2 和 n-1 ,3 和 n-2 这样凑,这样的话排名肯定是第一名 (其他都比 x+y 大)

2、x+y > n

我们就考虑把这种情况转化为 1 情况,让 1 和 1 配对,2 和 2 配对这样,可以配对 x - t  + y - t = n - t => t = x + y - n

所以排名是 x + y - n + 1

 

 

#include <cstdio>
#include <algorithm>
using namespace std;
int main(){
    int t,n,x,y,good,bad;
    scanf("%d",&t);
    while(t--){
        scanf("%d%d%d",&n,&x,&y);
        bad=min(n,x+y-1);
        if(x+y<=n)good=1;
        else good=min(n,x+y-n+1);//x+y>=n+1
        printf("%d %d\n",good,bad);
    }
    return 0;
}

 

B. Different Rules

原文:https://www.cnblogs.com/-Ackerman/p/12392469.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!