wolf 题目描述:给定一个仅包含小写字母的字符串 S,需按以下规则从中挑选字符组成 "wolf": (1)每次挑选 4 个字符,且字符相对顺序保持不变; (2)这 4 个字符从左到右恰好组成字符串 "wolf"; (3)字符串 S 中的每个字符最多被挑选一次。 请计算字符串 S 中最多能挑选出多少组 "wolf"。 例 1:S = "wolwfolf";通过下图的挑选方式,最多能挑出 2 组 "wolf"; 例 2:S = "awboclffowolwof";通过下图的挑选方式,最多能挑出 2 组 "wolf"。 输入描述: 输入一个仅包含小写字母的字符串 S(4≤S 的长度≤1000)。 输出描述: 输出一个整数,表示最多能挑选出 "wolf" 的组数。 样例输入: wolwfolf 样例输出: 2


正确答案:贪心数互不相交的wolf子序列。设cw=co=cl=ans=0;遍历字符:遇w则cw+1;遇o且cw>0则cw-1,co+1;遇l且co>0则co-1,cl+1;遇f且cl>0则cl-1,ans+1。ans即答案。
试卷来源:202504(第16届)蓝桥杯C++编程青少组(选拔赛_中高级)真题