B——小明的作业
小明同学正在学习一种新的语言。在该语言中,如果出现了一次wa或者一次aw,则代表出现了一个警告。如果出现了连续的wa或者连续的aw,则代表出现了一个错误。小明由于学习比较粗心,所以他想要知道自己刚刚写完的作业中一共出现了多少处警告和错误。下面是小明刚刚写完的作业,请你帮助小明找到他一共出现了多少次警告和多少次错误。
abcwaawawawa中出现了一次警告(wa)和一次错误(awawaw)
abcdefg中没有出现一次警告和错误
waawwaawwawa中出现了四次警告(两次wa和两次aw)和一次错误(wawa)
awawwawa中只出现了两次错误(awaw和wawa)
分析:开一个栈 ,遇到a或w开头就进栈 ,若以a开头遇到w就存入以此类推,awa waw aw wa 警告串长度为2或3判断即可,若遇到aww(waa)…则需要重新计数(以最后的w(a)为开头从新作为起点入栈重复上述操作
!!还有一块注意的是,最后整个串循环完 栈不一定空,需要再判断
#include<bits/stdc++.h> using namespace std; vector<char> ans; string s = "iawaswapwauawhawdwafwanbiopwanivgbikvblvbwawawawvolyuvgbololvolgbyolgyowagbolgawgboplwawaolgyolwaogblwaygbowawagwabwayawopwawagyowabwaowapjwapcfrtuywawacvujwawawaufttyfuftywawawatifgugbgbyguwawawawayugbigwwwytigwygwgbwyoawawgoghwaogwborgrewabouyhwabyuhowabhnwawauygbawyawuwaoawfcawaaaahwaywauwagwawefwaafmbawklawjiawihnwanhawawawawijwajiofjeriofgjrefjhwaewarwaowagwahwauwaiwarwaiwaqwarwahwaqwawwaowapfweofbwewafwahwaiwaewawwawawawawafwawawawaeiufwepfhnewfwahwajwatwafowawajtokshwawafwaiwahwafwahmgoewawawawafkfjkewnwawafiewhfwawawafjkernhawkrenwawawawafujnrheiowanwakawawawawwanoifewajrwaoawawfweojnwawawawawawawafjkwenawawferkwmpwawawawaforeijawawferhfiueorghwuwafguwegfwaghrwiufgwahweofgowaidwiweaiwwawieyiwe"; int sum1 , sum2; int main() {
for (int i = 0; s[i]; i ++ ) {
if (ans.empty()) {
if (s[i] == 'a' || s[i] == 'w') ans.push_back(s[i]); } else {
char c = ans.back(); if (c == 'w') {
if (s[i] == 'a') ans.push_back(s[i]); else {
if (s[i] == 'w') i --; if (ans.size() == 2 || ans.size() == 3) sum1 ++; else if (ans.size() > 3) sum2 ++; ans.clear(); } } else if (c == 'a') {
if (s[i] == 'w') ans.push_back(s[i]); else {
if (s[i] == 'a') i --; if (ans.size() == 2 || ans.size() == 3) sum1 ++; else if (ans.size() > 3) sum2 ++; ans.clear(); } } } } if (ans.size() == 2 || ans.size() == 3) sum1 ++; if (ans
今天的文章
2021-04-11 “九韶杯”河科院程序设计协会第一届程序设计竞赛 部分题解(BCEHI)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/87080.html