CodeForces 1992D Test of Love

题目链接:CodeForces 1992D【Test of Love】



思路

       从起点开始起跳,找出下一个木头的位置,若与当前位置的距离小于等于m,则可以直接跳过去,否则判断当前位置与下一个木头之间有没有鳄鱼,有鳄鱼则不能到达对岸,否则继续查找下一个木头,直到对岸。


代码

#include <functional>
#include <iostream>
#include <algorithm>
#include <queue>
#include <stdio.h>
#include <string>
#include <cstring>
#include <vector>
using namespace std;
#define ll long long
const int N = 500 + 10;
void solve(){
int n, m, k;
cin >> n >> m >> k;
string s;
cin >> s;
s = "L" + s + "L";
n += 2;
int cur = 0, ans = 0;
while (cur < n - 1) {
int p = s.find("L", cur + 1);
if (p == -1)
break;
if (p - cur <= m) {
cur = p;
continue;
}
cur += m;
string tmp = s.substr(cur, p - cur);
if (tmp != string(p - cur, 'W'))
break;
ans += p - cur;
cur=p;
}
if (cur < n - 1 || ans > k)
cout << "NO\n";
else
cout << "YES\n";
}
int main() {
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
posted @   薛定谔的AC  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示