2019NH TEA 小学 第四题 扑克牌

两名玩家正在玩扑克对赌。在游戏开始时,玩家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。

输出

一个整数。

样例输入 复制

2000

样例输出 复制

9000

程序 

#include<bits/stdc++.h>
using namespace std;
long long t,y,x;
int main(){
    cin>>t;
    for(int i=0;i<=10000;i++)
    {
        x=i,y=10000-i;
        for(int j=1;j<=3;j++) 
        {
            y-=x,x*=2;
        }
        if(y==t) 
        {
            cout<<10000-i;
            return 0;
        }
    }
    cout<<"-1";
    
    
    return 0;
}

小知识头文件

在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。

我们通常所见的头文件有:

#include<stdio.h> (包括IO输出流

这里我要提一嘴。stdio.h它包含的有我们在赛场上常见的

freopen(不知道写错没的屑作者

#include<math.h>

#include<string.h> 字符头文件(我自己这么叫的(后面有讲

#include<bits/stdc++.h>万能头文件(容易TLE前期能不用不用

剩下的没咋用。后面会讲

首先我们必须要知道头文件#include<stdio.h>声明了三种类型,一些宏和很多执行输入输出的函数

1、类型:

FILE 它是一个对象类型,可以记录控制流需要的所有信息,包括它的文件定位符、指向相关的缓冲的指针、记录是否发生了读/写错误的错误指示符和记录文件是否结束的文件结束符。fpos_t 它是一个对象类型,可以唯一指定文件中的每一个位置所需的所有信息。

size_t 这是无符号整数类型,它是sizeof关键字的结果

2、宏:

NULL 这个宏是一个空指针常量的值。

_IOFBF、_IOLBF、IONBF 这些宏扩展了带有特定值的整形常量表达式(它们展开为具有不同值的整数常量表达式),适合作为函数setvbuf的第三个参数使用。

BUFSIZ 这个宏是一个整数,该整数代表了setbuf函数使用的缓冲区大小。

EOF 这个宏是一个表示已经到达文件结束的负整数。

FOPEN_MAX 这个宏是一个整数,该整数代表了系统可以同时打开的文件数量。

FILENAME_MAX 这个宏是一个整数,该整数代表了字符数组可以存储的文件名的最大长度。

L_tmpnam 这个宏是一个整数,该整数代表了字符数组可以存储的由 tmpnam 函数创建的临时文件名的最大长度。

SEEK_CUR、SEEK_END 和 SEEK_SET 它们展开为具有不同值得整数常量表达式,适合作为fseek函数的第三个参数使用。

TMP_MAX 这个宏是 tmpnam 函数可生成的独特文件名的最大数量。

stderr、stdin 和 stdout 这些宏是指向 FILE 类型的指针,分别对应于标准错误、标准输入和标准输出流。

3、函数:
3.1函数remove
int remove(const char *filename);
说明:删

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值