codeforces - 1455C - 思维题

原题链接:https://codeforces.com/problemset/problem/1455/C

Alice和Bob玩简化规则的乒乓球。

其中某一个人发球,另一个人接球,发球的人再接球,如此循环。

如果某一个人不回球,这个人就输了这轮游戏。胜者在下一局游戏中发球。Alice开始第一场游戏。

Alice有x个体力,Bob有y个体力。为了击球(在发球或回球时),每个玩家都要花费1点体力,所以如果他们没有任何体力,他们不能回球(并输了这轮游戏)或不能发球(在这种情况下,另一个玩家发球)。如果两个球员都耗尽了体力,游戏就结束了。

有时,从战略上讲,不回球,输掉当前的游戏,但保存体力是最理想的。相反,当这个人开局需要发球时,如果他们还有一些耐力,他们必须发球。

Alice和Bob都以最佳状态进行游戏,并希望:1. 最大限度地增加自己的胜利次数。2. 在第1点的要求的基础上,最大限度地减少对手的胜利次数。

计算得出Alice和Bob的胜场数。

Input

第一行包含一个整数t(1≤t≤104)--测试用例的数量。

每个测试样例的第一行也是唯一的一行包含两个整数x和y(1≤x,y≤106)--Alice和Bob的初始耐力。

Output

对于每个测试案例,打印两个整数--Alice和Bob都是最佳策略下胜利数。

Example

Input

3
1 1
2 1
1 7

Output

0 1
1 1
0 7

Note

在第一个测试样例中,Alice发球,花费1个体力。然后Bob回球,也花费了1个体力。Alice因为没有体力了,所以不能回球,输掉比赛。两人的体力都用完了,所以游戏结束,Alice的胜利为0,Bob的胜利为1。

在第二个测试样例中,Alice发球并消耗了1个体力。Bob决定不回球--他输掉了比赛,但节省了耐力。Alice,作为上一局的赢家,在下一局中发球并多花1个体力。这一次,Bob回球并花费1个体力。Alice没有任何体力了,所以她不能回球,输掉了这场比赛。两人的体力都用完了,所以游戏结束,Alice 1次胜,Bob 1次获胜。

在第三个测试样例中,Alice发球,花费1个体力。Bob回球,花费1个耐力。Alice用完了体力,所以她不能回球,输掉了比赛。Bob作为赢家,在接下来的6场比赛中发球。每次Alice都不能回球,每局都输。游戏结束,Alice 0次胜,Bob 7次胜。

 思路:1. 最大限度地增加自己的胜利次数。注意这个条件!那就非常简单了!7行代码解决!

#include <bits/stdc++.h>

using namespace std;
int main()
{
    int T;
    cin >> T;
    while(T--)
    {
       int x,y,x1 = 0,y1 = 0;
       scanf("%d%d",&x,&y);
       printf("%d %d\n",x1 - 1,y1);
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永夜天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值