两名玩家正在玩扑克对赌。在游戏开始时,玩家A有X美元而玩家B有Y美元。
已知X和Y是非负整数,且X + Y = 10000。
两名玩家已经打了三轮对赌,每轮的形式都是如下:
(1)玩家A下注所有的钱。
(2)玩家B照跟玩家A。(也就是说,他们对赌的钱相同。)
(3)开盘,玩家A赢了。
现在的问题是:是否有可能使得:在第三轮对赌结束之后,玩家B恰好还剩下T美元?如果不可能,输出-1。否则,请输出玩家B一开始拥有的金额Y。
输入格式
第一行,一个整数T。 0<=T<=10000。
输出格式
一个整数。
输入/输出例子1
输入:
2000
输出:
9000
代码:
#include<bits/stdc++.h>
using namespace std;
int x,y,s;
int main()
{
cin>>s;
y=s;
x=10000-y;
for(int i=0;i<3;i++)
{
x=x/2;
y=y+x;
}
if(x+y==10000)cout<<y;
else cout<<-1;
return 0;
}