https://codeforces.ml/contest/1315/problem/B
思路:本题的坑点我认为在于BUS和TRAM重合的点,如果倒序从len遍历的话会出现这种情况:1 1 1 AB。
因为从A处上了BUS后就直接可以到达终点n了。所以遍历的时候要从len-1处开始遍历。
#include<bits/stdc++.h> #define _for(i,a,b) for(int i=a;i<=b;i++) using namespace std; typedef long long ll; const int mod =1e6+7; double esp=1e-6; int INF =0x3f3f3f3f; //const int inf = 1<<28; const int MAXN=2000+10; int main() { int t; scanf("%d",&t); char s[100010]; while(t--) { int a,b,p; scanf("%d%d%d",&a,&b,&p); scanf("%s",s+1); int len=strlen(s+1); int num=0,id=1; int tt=p; if(a>p&&b>p){printf("%d\n",len);continue;} int i,f=1; for(i=len-1;i>0;i--) { if(s[i] == 'A') { if(a > p) {i++;break;} } if(s[i] == 'B') if(b > p) {i++;break;} if(s[i]!=s[i-1]) { if(s[i]=='A') { if(p>=a){p-=a;f=0;} else break; } else { if(p>=b){p-=b;f=0;} else break; } } } if(i==0)i=1; if(f)i=len; printf("%d\n",i); } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律