cf1561B. Charmed by the Game

题意:

两人轮流发球,有两种得分的情况,一个是自己发球的回合得分,叫做"holds",另一种是在对方发球的回合得分,叫做"breaks",现在给出比赛结束后两个人的得分,问你两个人总的"breaks"的次数有多少种情况。不知道谁先发球,也不知道谁哪个回合取胜,只知道最后的得分

题解:

我们知道两人得分是x,y,总比赛数量就是x+y,先手发球次数为p=⌈a+b2⌉\lceil \frac{a+b}{2} \rceil⌈2a+b​⌉,后手为q=⌊a+b2⌋\lfloor \frac{a+b}{2} \rfloor⌊2a+b​⌋
现在也不知道谁先发球,我们可以设Alice先发球,设x为Alice输掉场次为a(0<=a<=p),设Borys输掉场次为b(0<=b<=q)
如果Alice先发球,枚举Alice输的个数a,从0到p,然后有x=(p-a)+y,y=x-(p-a),只要y满足(0<=y<=q),这就是合法的情况,k就是x+y
Borys发球时同理

代码:


// Problem: B. Charmed by the Game
// Contest: Codeforces - Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine))
// URL: https://codeforces.com/contest/1561/problem/B
// Memory Limit: 512 MB
// Time Limit: 2000 ms
// Data:2021-08-24 23:07:04
// By Jozky#include <bits/stdc++.h>
#include <unordered_map>
#define debug(a, b) printf("%s = %d\n", a, b);
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;
clock_t startTime, endTime;
//Fe~Jozky
const ll INF_ll= 1e18;
const int INF_int= 0x3f3f3f3f;
void read(){};
template <typename _Tp, typename... _Tps> void read(_Tp& x, _Tps&... Ar)
{x= 0;char c= getchar();bool flag= 0;while (c < '0' || c > '9')flag|= (c == '-'), c= getchar();while (c >= '0' && c <= '9')x= (x << 3) + (x << 1) + (c ^ 48), c= getchar();if (flag)x= -x;read(Ar...);
}
template <typename T> inline void write(T x)
{if (x < 0) {x= ~(x - 1);putchar('-');}if (x > 9)write(x / 10);putchar(x % 10 + '0');
}
void rd_test()
{#ifdef LOCALstartTime= clock();freopen("in.txt", "r", stdin);
#endif
}
void Time_test()
{#ifdef LOCALendTime= clock();printf("\nRun Time:%lfs\n", (double)(endTime - startTime) / CLOCKS_PER_SEC);
#endif
}
int main()
{//rd_test();int t;read(t);while (t--) {int x, y;read(x, y);if ((x + y) % 2) {int ans= 2 * (min(x, y) + 1);printf("%d\n", ans);int tot= (x + y) / 2 - min(x, y);for (int i= 1; i <= ans; i++) {printf("%d ", tot);tot++;}}else if ((x + y) % 2 == 0) {int ans= (min(x, y) + 1);printf("%d\n", ans);int tot= (x + y) / 2 - min(x, y);for (int i= 1; i <= ans; i++) {int ans= (x + y) / 2 - min(x, y) + 2 * (i - 1);printf("%d ", ans);}}printf("\n");}return 0;//Time_test();
}

cf1561B. Charmed by the Game相关推荐

  1. 通过Charmed Ceph 在 H3C UniServer R4950 G5 服务器上 部署独立的Ubuntu Ceph 存储集群

    摘要 本文档提供了一个独立Ceph集群的构架参考,部署及各种访问方法.本测试在4台H3C UniServer R4950 G5服务器上构建了一个独立的可扩展.可靠和容错的Ceph存储集群.可以同时对外 ...

  2. 大学毕业没有实习经历_我是如何在大学毕业后没有实习的情况下获得第一份开发人员工作的...

    大学毕业没有实习经历 by Tim Park 蒂姆·帕克(Tim Park) 我是如何在大学毕业后没有实习的情况下获得第一份开发人员工作的 (How I got my first developer ...

  3. openwrt配置内核驱动_openwrt增加内核模块的方法

    开发环境为ubuntu.首先搭建编译环境. sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf get ...

  4. 天才大猩猩可可去世,享年 46 岁

    今日导读 <猩球崛起>中,大猩猩"凯撒"因为基因药物变得异常聪明,当它开口说话的那一刻,大家都目瞪口呆.现实生活中,也有一位大猩猩拥有语言交流的能力.她叫可可,1971 ...

  5. Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine))

    Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine)) 题号 题目 知识点 A Simply Strange Sor ...

  6. Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine)) A-F全题解

    Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine)) 文章目录 A. Simply Strange Sort B. ...

  7. codeforces:ProblemMset

    最近一个月在codeforces上做的题(做个记录) 后面太多了就不把代码一一放出了,只放置了链接,可根据链接找到提交的代码. 最小子矩阵 #include <iostream> #inc ...

  8. 用c语言实现文本文件中的字符筛选分析(二)

    1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #define MAX 10000 ...

  9. 二十九、K8s最小服务漏洞3-gVisor沙箱

    一.为什么需要使用沙箱运行容器 首先,我们来看看整个K8s调用容器的架构: 1.架构概述 架构分为3个部分,分别时High-level container management.High-level ...

最新文章

  1. 图很难理解?看这篇图论基础与图存储结构就够了
  2. html兼容不同屏幕 代码,rem的正确使用姿势 -- 完美解决H5页面不同尺寸屏幕的适配问题...
  3. 5.数据绑定和表单标签库
  4. uva1616二分加误差处理
  5. gRPC的平滑关闭和在Kubernetes上的服务摘流方案总结
  6. hadoop入门学习教程--DKHadoop完整安装步骤
  7. VC++学习方法及书籍推荐(转)
  8. python语言常用语法汇总
  9. java 创建txt_java创建txt文件并存入内容
  10. 【SAS BASE】SAS格式、缺失值表示、命名规则及路径
  11. vba里有日文粘贴出来是乱码
  12. 《国风美少年》秦子墨遭质疑崩溃落泪,失传名曲重现舞台!
  13. 非常简洁的vsPlayAudio在线音乐播放器插件
  14. 信息系统面临的安全风险
  15. Spring Boot 实践折腾记(12):支持数据缓存Cache
  16. python dns管理平台_python dns服务器
  17. ASW3410设计说明|双通道 2切1/1切2 USB3.1 多路切换器设计|USB3.1/2.0双向切换方案
  18. 安科瑞物联网技术在智慧电网中的应用-Susie 周
  19. Linux 系统查看磁盘空间的五个命令
  20. html u属性添加,HTML: u 标签

热门文章

  1. 颜宁课题组再发Cell!1个月时间内4篇顶刊!
  2. 和男朋友一块儿吃VS单独一人在家吃饭
  3. 两年了,你还是那个你 | 今日最佳
  4. 鸿蒙思维和小央美,北市场附近艺术培训
  5. python 什么是原类_Python 什么是元类(metaclasses)?
  6. 微型计算机原理中LEA,微型计算机系统原理及应用(第2版)第2章
  7. 巴比伦算法求平方根c语言,巴比伦算法求平方根
  8. 缓存机制 java_缓存机制:java中缓存的原理
  9. TDengine和DolphinDB哪个更好,哈哈哈哈,闲来无聊分析了一下。
  10. linux防火墙停用,关闭LINUX防火墙