1390 游戏得分
题目来源: TopCoder
基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题

A与B两人玩一个游戏,这个游戏有若干个回合(可能0回合)。游戏的回合依次标号为1,2,3,4...。你不需要关心游戏的内容,现在只要知道第i回合胜者会获得2*i-1分,每回合游戏不存在平局。现在已知A和B在游戏结束时各获得了x分与y分的总分。问A在这个游戏中至少获胜了几盘?如果给出的x与y一定不会出现那么输出-1.
Input
多组测试数据,第一行一个整数T,表示测试数据数量,1<=T<=5
每组测试数据有相同的结构构成:
每组数据一行包含两个整数x,y,表示A与B最后的总得分,其中0<=x,y<=1,000,000,000,000。
Output
每组数据一行输出,即A最少获胜了几盘,非法的x与y对输出-1。
Input示例
3
8 17
17 8
0 0
Output示例
2
3
0

//左思右想没想到什么好办法,最后,看了别人的,似乎贪心就行,先赢了分数大的,然后判断下奇偶即可。。。似乎就是最好的方法

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 #define INF 0x3f3f3f3f
 4 #define LL long long
 5 #define MX 505
 6
 7 LL x, y;
 8 LL getall(LL all)
 9 {
10     LL l=0, r=1e9;
11     while (l<=r)
12     {
13         LL mid = (l+r)>>1;
14         if (mid*mid==all)
15             return mid;
16         else if (mid*mid>all)
17             r=mid-1;
18         else
19             l=mid+1;
20     }
21     return -1;
22 }
23
24 int main()
25 {
26     int T;
27     scanf("%d",&T);
28     while(T--)
29     {
30         scanf("%lld%lld",&x,&y);
31         LL all = getall(x+y);
32         if (all==-1||x==2||y==2)
33             printf("-1\n");
34         else
35         {
36             if (x==0)
37                 printf("0\n");
38             else if (y==0)
39                 printf("%lld\n",all);
40             else
41             {
42                 LL ans = 0;
43                 for (LL i = all;i>=1;i--)
44                 {
45                     if (x>i*2-1)
46                     {
47                         ans++;
48                         x-=i*2-1;
49                     }
50                     else
51                     {
52                         if (x%2) ans++;
53                         else ans+=2;
54                         break;
55                     }
56                 }
57                 printf("%lld\n",ans);
58             }
59         }
60     }
61     return 0;
62 }

View Code

转载于:https://www.cnblogs.com/haoabcd2010/p/7623820.html

1390 游戏得分(贪心)相关推荐

  1. # 国王游戏(贪心+大数乘除+微扰法证明)

    国王游戏(贪心+大数乘除+微扰法证明) 题意:n个大臣和一个国王,左右手都有一个数,排队,国王始终拍在最前面,每个大臣的奖励为这个大臣前面的人的左手上的数之积除以这个大臣右手上的数.构造最优队伍,使得 ...

  2. 13、编写一个游戏级别评分器,循环录入每一局(共10局)的游戏得分,显示输出游戏级别。评分标准:10局中如果90%达到80分之上为一级,如果60%达到80之上为二级。

    import java.util.Scanner; public class Zuoye1 { /** * 编写一个游戏级别评分器, 循环录入每一局(共10局)的游戏得分, 显示输出游戏级别. 评分标 ...

  3. Swing贪吃蛇游戏(四):增加游戏得分排行榜功能

    在上几篇博文中,介绍了 Swing贪吃蛇游戏(一):基本功能实现 >>> [url]http://mouselearnjava.iteye.com/blog/1913290[/url ...

  4. 【游戏开发实战】使用Unity制作水果消消乐游戏教程(八):游戏得分加分效果

    文章目录 一.前言 二.使用TextMeshPro显示得分 1.导入TTF字体到工程中 2.创建字源txt文件 3.生成字体asset 4.制作得分预设 三.得分数字动画 四.得分代码 五.运行测试 ...

  5. python-pygame实现飞机大战-6-完结,增加游戏结束界面,历史记录、游戏得分、重新开始与结束游戏按钮

    承接上4步: 1.添加背景以及飞机运动:https://blog.csdn.net/weixin_38778769/article/details/117329303 2.添加敌机以及碰撞爆炸:htt ...

  6. codevs地鼠游戏(贪心)

    1052 地鼠游戏  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能 ...

  7. 【题解】P1080 国王游戏(贪心+高精python天下第一)

    P1080 国王游戏 题目描述 恰逢 H国国庆,国王邀请n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排 ...

  8. P1080 国王游戏(贪心+大数乘除)

    题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最 ...

  9. 1785: 数字游戏(贪心/bfs--定义全局数组变量遇到编译错误的问题)

    1785: 数字游戏 时间限制: 1 Sec 内存限制: 128 MB [提交][状态][讨论版] 题目描述 给定一个整数n. 您可以使用这个数字执行以下任意操作(可能是零)次数: 如果n能被2整除, ...

最新文章

  1. java获取apk启动activity_[RK3399] android7.1 设置开机启动apk
  2. android中的回调
  3. 微信OPENID授权方法
  4. 最短编辑距离问题理解
  5. 新兴的多媒体格式——MXF 文件格式分析 和简介
  6. java cache教程_Java 中常用缓存Cache机制的实现
  7. JavaScript函数补完:toString()
  8. (七)Netty与零拷贝
  9. win7上一个微软都不知道的快捷键
  10. 时间片轮转(RR)调度算法(详解版)
  11. spring5教程(一)——Overview
  12. 支持向量回归(Support Vector Regression)
  13. C#实现微信扫码支付
  14. 获取通过谷歌Google广告下载AndroidAPP并登录用户数量
  15. python(3):文件操作/os库
  16. 一小时建立数据分析平台
  17. 墨子科技成果是计算机,近年来取得了哪些科技成就_现代史_我爱历史网
  18. 显示出现计算机代码,win10电脑出现蓝屏并提示代码DPC_WATCHDOG_VIOLATION如何解决
  19. 传智播客mysql 下载_传智播客mysqlppt
  20. Windows任务管理器的打开方式

热门文章

  1. 干货|2020年以后人工智能的几点思考
  2. 特定场景下Yolo改进算法:Poly-Yolo
  3. 这38篇原创文章,带我入门深度学习!
  4. 一文全览,深度学习时代下,复杂场景下的 OCR 如何实现?
  5. 如何构建一个安全的人工智能世界?
  6. 报告:AI技术正有效缩小亚洲医疗发展的差距
  7. 「caffe速成」caffe图像分类从模型自定义到测试
  8. 代码详解:Numpy——通往人工智能的大门
  9. 北欧小国的宏大AI实验:让1%的人口接受人工智能培训
  10. P vs. NP 五十年:AI正在解决不可解问题