CF 1894A 学习笔记 思维 题意理解分析

原题

A. Secret Sport

time limit per test

3 seconds

memory limit per test

512 megabytes

input

standard input

output

standard output

Let's consider a game in which two players, A and B, participate. This game is characterized by two positive integers, 𝑋� and 𝑌�.

The game consists of sets, and each set consists of plays. In each play, exactly one of the players, either A or B, wins. A set ends exactly when one of the players reaches 𝑋� wins in the plays of that set. This player is declared the winner of the set. The players play sets until one of them reaches 𝑌� wins in the sets. After that, the game ends, and this player is declared the winner of the entire game.

You have just watched a game but didn't notice who was declared the winner. You remember that during the game, 𝑛� plays were played, and you know which player won each play. However, you do not know the values of 𝑋� and 𝑌�. Based on the available information, determine who won the entire game — A or B. If there is not enough information to determine the winner, you should also report it.

Input

Each test contains multiple test cases. The first line contains a single integer 𝑡� (1≤𝑡≤104)(1≤�≤104) - the number of test cases. The description of the test cases follows.

The first line of each test case contains an integer 𝑛� (1≤𝑛≤20)(1≤�≤20) - the number of plays played during the game.

The second line of each test case contains a string 𝑠� of length 𝑛�, consisting of characters 𝙰A and 𝙱B. If 𝑠𝑖=𝙰��=A, it means that player A won the 𝑖�-th play. If 𝑠𝑖=𝙱��=B, it means that player B won the 𝑖�-th play.

It is guaranteed that the given sequence of plays corresponds to at least one valid game scenario, for some values of 𝑋� and 𝑌�.

Output

For each test case, output:

  • 𝙰A — if player A is guaranteed to be the winner of the game.
  • 𝙱B — if player B is guaranteed to be the winner of the game.
  • ?? — if it is impossible to determine the winner of the game.

Example

input

Copy

 

7

5

ABBAA

3

BBB

7

BBAAABA

20

AAAAAAAABBBAABBBBBAB

1

A

13

AAAABABBABBAB

7

BBBAAAA

output

Copy

A
B
A
B
A
B
A

Note

In the first test case, the game could have been played with parameters 𝑋=3�=3, 𝑌=1�=1. The game consisted of 11 set, in which player A won, as they won the first 33 plays. In this scenario, player A is the winner. The game could also have been played with parameters 𝑋=1�=1, 𝑌=3�=3. It can be shown that there are no such 𝑋� and 𝑌� values for which player B would be the winner.

In the second test case, player B won all the plays. It can be easily shown that in this case, player B is guaranteed to be the winner of the game.

In the fourth test case, the game could have been played with parameters 𝑋=3�=3, 𝑌=3�=3:

  • In the first set, 33 plays were played: AAA. Player A is declared the winner of the set.
  • In the second set, 33 plays were played: AAA. Player A is declared the winner of the set.
  • In the third set, 55 plays were played: AABBB. Player B is declared the winner of the set.
  • In the fourth set, 55 plays were played: AABBB. Player B is declared the winner of the set.
  • In the fifth set, 44 plays were played: BBAB. Player B is declared the winner of the set.

In total, player B was the first player to win 33 sets. They are declared the winner of the game.

代码

#include<bits/stdc++.h>
using namespace std;int main()
{int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);string s;cin>>s;printf("%c\n",s[n-1]);}return 0;
}

原题链接

传送门icon-default.png?t=N7T8https://codeforces.com/contest/1894/problem/A 总结

参考

1.官方题解

2.赛时rank 1代码

思考

1.题目的意思有点难懂,英文要一个一个单词慢慢看,仔细去理解英文句子背后的意思,这个题目的意思是说,A和B两个人进行一场比赛,比赛有多个回合(sets),每一个回合有多场(plays),一个回合结束的标志是某一个人赢得X场(plays),某一个人赢得Y个回合,整个比赛结束

2.输入一个数字n,表示总共进行了多少场比赛,然后输入一个字符串,表示每一场比赛的胜利者。

3.我们最后需要输出谁是最终的胜利者,A/B/?,问号表示不能确定谁是最终的胜利者。

4.最后一场的胜利者就是最终的胜利者,因为假设最后一场不能决定胜负,就不会进行最后一场比赛,所以说,代码非常简单,输出最后一场的胜利者即可,也就是字符串的最后一个字符

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IvorySQL3.0:基于PG16.0最新内核,实现兼容Oracle数据库再升级

Oracle作为全球最大的数据库厂商之一&#xff0c;具有较高的市场知名度和份额。但随着数据处理需求日益增长&#xff0c;使用Oracle的企业可能面临一些挑战&#xff0c;如数据库复杂性、高昂维护成本、数据迁移和集成问题等&#xff0c;难以满足企业实时数据处理需求&#xff0…

UI 自动化测试框架设计与 PageObject 改造!

在 UI 自动化测试过程中&#xff0c;面对复杂的业务场景&#xff0c;经常会遇到这样的挑战&#xff1a; 简单的录制/回放速度快&#xff0c;但无法适应复杂场景&#xff1b;编写自动化测试脚本比较灵活&#xff0c;但工作量大且可维护性差&#xff1b;以往的封装技术&#xff…

webpack 创建typescript项目

【视频链接】尚硅谷TypeScript教程&#xff08;李立超老师TS新课&#xff09; 创建webpack 项目 IDE&#xff1a;webstorm 新建一个空的项目运行npm init初始化项目目录结构 1. 安装 webpack&#xff1a;构建工具webpack-cli&#xff1a; webpack的命令行工具typescript&am…

单链表在线OJ题(详解+图解)

1.删除链表中等于给定值 val 的所有节点 本题的要求是输入一个val的整形值&#xff0c;若链表中节点存储的值与val相等&#xff0c;则删除这个节点&#xff0c;并最后返回这个删除节点后的链表&#xff0c;思路如下&#xff1a; 我们可以直接使用while循环&#xff0c;并且使用…

SAP gui 登录条目不让修改

今天碰到用户安装的GUI 770 版本&#xff0c;不让修改&#xff0c;也不让添加 后面再选项里面找到了

安防监控视频云存储平台EasyCVR页面播放卡顿的优化方法

视频监控平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放&#xff0c;可同时播放多路视频流&#xff0c;也能支持视…

ky10 server aarch64 离线安装openssl3.1.4

离线程序 https://gitcode.net/zengliguang/ky10_aarch64_openssl_install.git 输入下面命令执行离线安装脚本 source openssl_offline_install.sh 安装完成

郎酒“掉队”,经销商们能等来春天吗?

文 | 螳螂观察&#xff08;TanglangFin&#xff09; 作者 | 渡过 有“六朵金花”之称的川酒品牌中&#xff0c;五粮液、泸州老窖、舍得、水井坊都已成功上市&#xff0c;只剩下郎酒和剑南春未上市。 与IPO的“掉队”相对应的&#xff0c;是郎酒在冲刺高端、内部管理、渠道管…

安全领航,共筑敏捷开发新时代【云驻共创】

安全领航&#xff0c;共筑敏捷开发新时代。网络安全形势虽然严峻&#xff0c;但得益于企业安全意识的提升&#xff0c;近两年来遭受网络攻击的网站不断减少&#xff0c;普通网民的个人隐私及其他敏感数据得到了更多的保证。华为云基于自身多年的安全经验研发了可以帮助开发者实…

(一)pytest自动化测试框架之生成测试报告(mac系统)

前言 我们可以通过pytest-html插件来生成测试报告&#xff0c;但是pytest-html插件生成的测试报告不够美观&#xff0c;逼格也不够高&#xff0c;通过allure生成的测试报告是比较美观的&#xff0c;花里胡哨的&#xff0c;能够提升一个level。 allure官网&#xff1a; Allure…

布尔类型的转换

1.图示 2.说明 空数组[]和空对象{}都是Object类型&#xff0c;因此直接用于if判断条件时都会被转化为true。任意值与布尔值比较&#xff0c;都会将两边的值转化为Number。如果将空数组[ ]与布尔值false比较&#xff0c;false转化为0&#xff0c;而空数组[ ]转化为0&#xff0c…

【算法之路】高精度算法(实现加减乘除)

目录 一、高精度概念 二、高精度算法的实现 1、高精度加法&#xff08;大整数相加&#xff09; 2、高精度减法&#xff08;大整数减法&#xff09; 3、高精度乘法&#xff08;大整数*小整数&#xff09; 4、高精度除法&#xff08;大整数/小整数&#xff09; 一、高精度概…

Java GUI实现桌球小游戏

桌球游戏是一种室内运动&#xff0c;通常在一个正式的桌球台上进行。这种游戏也被称为台球或母球。桌球游戏的目标是使用一个击球杆将彩球击入桌面四个角落的袋子中&#xff0c;得分最高的一方获胜。桌球游戏需要一定的技巧和策略&#xff0c;因此是一项受欢迎的竞技运动和休闲…

生成对抗网络Generative Adversarial Network,GAN

Basic Idea of GAN Generation&#xff08;生成器&#xff09;  Generation是一个neural network&#xff0c;它的输入是一个vector&#xff0c;它的输出是一个更高维的vector&#xff0c;以图片生成为例&#xff0c;输出就是一张图片&#xff0c;其中每个维度的值代表生…

前端环境变量释义

视频教程 彻底搞懂前端环境变量使用和原理&#xff0c;超清楚_哔哩哔哩_bilibili 添加命令行参数 --modexxxxx 新建.env.xxxx文件,其中.env文件会在所有环境下生效 以VITE_开头&#xff0c;字符串无需加双引号 使用import.meta.env.VITE_xxxxx进行调用

React中封装echarts图表组件以及自适应窗口变化

文章目录 前言环境代码接口使用效果后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;react.js &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&#xff0c;…

很多人都在用的现货白银突破交易法 缺点需要注意

突破交易是现货白银投资者常用的交易技巧。通常做突破交易有两种方法&#xff0c;一种是突破发生的时候马上入场&#xff0c;另一种是在突破确认后等待回调然后再入场。目前&#xff0c;投资者较多的是使用后者。用突破——回踩入场有什么优缺点呢&#xff1f;下面我们就来讨论…

Java(四)(多态,final,常量,抽象类,接口)

目录 多态 基本概念: 使用多态的好处 类型转换 遇到的问题 解决方法 强制类型转换的一个注意事项 final 常量 抽象类 啥是个抽象类? 抽象类的注意事项,特点 抽象类的场景和好处 抽象类的常见应用场景: 模板方法设计模式 接口 基本概念 接口的好处 JDK8开始,接…

[计算机网络实验]头歌 实验二 以太网帧、IP报文分析

第1关&#xff1a;Wireshark基本使用入门 【实验目的】 1、掌握wireshark工具的基本使用方法 【实验环境】 1、头歌基于Linux的虚拟机桌面系统 2、网络报文分析工具wireshark 3、浏览器firefox 【本地主机、平台虚拟机之间数据传递】 1、文本的复制与粘贴 操作入口&…