首页 > 编程语言 >打卡信奥刷题(069)用C++工具信奥P11076[普及组/提高] 「FSLOI Round I」单挑

打卡信奥刷题(069)用C++工具信奥P11076[普及组/提高] 「FSLOI Round I」单挑

时间:2024-10-18 12:18:45浏览次数:9  
标签:15 单挑 FSLOI 30 样例 leq 打卡 获胜

「FSLOI Round I」单挑

题目背景

English statement. You must submit your code at the Chinese version of the statement.

小 F 和小 S 经常进行篮球单挑,但小 S 总是被盖帽。

题目描述

每次单挑的结果一定是小 F 获胜或者小 S 获胜,不存在平局的情况。

由于小 F 和小 S 实力不均衡,于是他们制定规则如下:

给定两个整数 x , y x,y x,y,若小 F 先赢 x x x 场,则小 F 获胜。若小 S 先赢 y y y 场,则小 S 获胜。

现在已经进行了 n n n 场单挑,这 n n n 场单挑的结果由一个字符串 s s s 给出。若 s s s 的第 i i i 位为 F,则小 F 赢了第 i i i 场。若 s s s 的第 i i i 位为 S,则小 S 赢了第 i i i 场。

小 F 想知道,为了取得胜利,后续的比赛中他最多连续胜利的场数最少是多少

你总共需要回答 T T T 组询问。

输入格式

第一行一个整数 T T T,表示共有 T T T 组数据。

每组数据共两行。

第一行三个整数 n , x , y n,x,y n,x,y,含义与题目描述一致。

第二行一个长度为 n n n 的字符串 s s s,含义与题目描述一致。

输出格式

共 T T T 行。

每行一个整数,表示小 F 在后续的比赛中最多连续胜利的场数的最小值。

样例 #1

样例输入 #1

1
5 6 4
SFSFS

样例输出 #1

4

样例 #2

样例输入 #2

1
3 7 3
FFF

样例输出 #2

2

样例 #3

样例输入 #3

1
29 1000 20
FFFSFFFFSFFFFFSFFFSFFFFFFSFFF

样例输出 #3

66

提示

【样例 1 解释】

为了让小 F 获胜,后续的比赛结果只能为 $ \texttt {FFFF}$,此时最多连续胜利场数为 4 4 4。

【样例 2 解释】

为了让小 F 获胜,一种可能的后续的比赛结果为 $ \texttt {FFSFSF}$,此时最多连续胜利场数为 2 2 2。

请注意,您只需考虑后续的比赛中的最多连续胜场数,而不需要考虑前 n n n 场。

【数据规模与约定】

本题采用捆绑测试。

对于 100 % 100 \% 100% 的数据,保证:

  • 1 ≤ T ≤ 20 1 \leq T \leq 20 1≤T≤20
  • 1 ≤ n ≤ 2 × 1 0 5 1 \leq n \leq 2\times10^5 1≤n≤2×105
  • 1 ≤ x , y ≤ 1 0 9 1 \leq x,y \leq 10^9 1≤x,y≤109
  • ∀ i ≤ n \forall i \leq n ∀i≤n,保证第 i i i 场比赛结束后小 S 没有获胜。
  • ∀ i < n \forall i < n ∀i<n,保证第 i i i 场比赛结束后小 F 没有获胜。
子任务分值特殊性质
1 1 1 10 10 10 n = 1 n=1 n=1
2 2 2 15 15 15 x , y ≤ n x,y\leq n x,y≤n
3 3 3 15 15 15 A A A
4 4 4 30 30 30 T = 1 T=1 T=1
5 5 5 30 30 30
  • 特殊性质 A A A:第 n n n 场比赛结束后,小 S 总共获胜 y − 1 y-1 y−1 场。

C++实现

#include
#include
#include <bits/stdc++.h>

using namespace std;
int t,x,y,n;
string s;
int main() {
cin>>t;
while(t–){
cin>>n>>x>>y;
int sumx=0,sumy=0;
cin>>s;
s=" "+s;
for(int i=1;i<=n;i++){
if(s[i]==‘F’){
sumx++;
}else{
sumy++;
}
}
x-=sumx;
y-=sumy;
cout<<(x+y-1)/y<<endl;
}

return 0;

}

在这里插入图片描述

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP C++考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

标签:15,单挑,FSLOI,30,样例,leq,打卡,获胜
From: https://blog.csdn.net/rogeliu/article/details/143018239

相关文章

  • 打卡信奥刷题(056)用C++工具信奥P10566[普及组/提高] 「Daily OI Round 4」Analysis
    「DailyOIRound4」Analysis题目描述小C的信息技术老师给小C布置了一项作业,作业内容如下:有一个字符串,包含大小写字母和数字。你可以把任意一个字符变成另外一个字符,设变化之前字符的ASCII码为a......
  • day31打卡
    518零钱兑换IIclassSolution{public:intchange(intamount,vector&coins){vector<int>dp(5001,0);dp[0]=1;for(inti=0;i<coins.size();++i){for(intj=coins[i];j<=amount;++j){d......
  • day28打卡
    62不同路径classSolution{public:intuniquePaths(intm,intn){vector<vector>dp(m,vector(n,0));if(m<=1){returnm;}if(n<=1){returnn;}for(inti=0;i<n;++i){dp[0][i]=1;}for(intj=0;j<m;++j){dp[j][0]=1......
  • day30打卡
    1049最后一块石头的重量IIclassSolution{public:intlastStoneWeightII(vector&stones){intsum=0;for(int&it:stones){sum+=it;}inttarget=sum/2;vectordp(1501,0);for(inti=0;i<stones.size();++i){for(intj=target;j>=s......
  • day25打卡
    452用最少数量的箭引爆气球classSolution{public:staticboolcmp(constvector&left,constvector&right){returnleft[0]<right[0];}intfindMinArrowShots(vector<vector>&points){sort(points.begin(),points.end(),cmp);intret=1;for......
  • day24打卡
    134加油站classSolution{public:intcanCompleteCircuit(vector&gas,vector&cost){intcurrentsum=0;inttotalsum=0;intstart=0;for(inti=0;i<gas.size();++i){currentsum+=gas[i]-cost[i];totalsum+=gas[i]-cost[i];if(cur......
  • day23打卡
    122买股票最大时机IIclassSolution{public:intmaxProfit(vector&prices){vector<vector>dp(prices.size(),vector(2,0));dp[0][0]=-prices[0];dp[0][1]=0;for(inti=1;i<prices.size();++i){dp[i][0]=max(dp[i-1][0],dp[i-1][1]-prices[i......
  • day22打卡
    分发饼干classSolution{public:intfindContentChildren(vector&g,vector&s){sort(g.begin(),g.end());sort(s.begin(),s.end());intcount=0;inti=0;intj=0;for(;i<g.size()&&j<s.size()......
  • 微信小程序的北京旅游古建筑文化景点打卡平台Thinkphp/Laravel
    目录技术栈和环境说明项目介绍具体实现截图文件解析微信开发者工具HBuilderX+uniapp开发技术简介性能/安全/负载方面数据访问方式PHP核心代码部分展示代码目录结构解析系统测试详细视频演示源码获取技术栈和环境说明Laravel以其优雅的语法和快速开发能力著称,简化了......
  • 打卡信奥刷题(018)用C++信奥P9496[普及组/提高] 「RiOI-2」hacker
    「RiOI-2」hacker题目背景在小树丛边坐落着一个幻想的城堡。这里是E国的领地,而小E,则是E国之王。现在,伟大的E国之王正在披挂出征。不过听说E国之王遇见了两个叫ACCEPT和BOTH的人,他们是谁?题目描述现在有正整数n......