保姆式题解
2024-11-03 16:32:53
发布于:广东
32阅读
0回复
0点赞
#include<iostream>
#include<stack>
#include<algorithm>
using namespace std;
const int maxn = 1e2 + 9;
int n , m;
char q[109] , a[109];
bool check(char x , int l , int r)
{
for(int k = l; k < r; k++)
{
if(q[k] == x)
return false;
}
return true;
}
int main()
{
//1、定义两个变量n,m,进行输入
cin >> n >> m;
//2、输入n个字符
for(int i = 1; i <= n; i++)
cin >> a[i];
//3、定义变量head,tail,sum,分别表示队列的头、尾、翻看书本的次数
int head = 1 , tail = 1 , sum = 0;
for(int i = 1; i <= n; i++)
{
//4、对于每一个字符先判断是否认识,可以定义一个函数,认识的话返回false,不认识的话返回true
if(check(a[i] , head , tail))
{
//5、不认识的,首先判断是否已经认识了m个字符,若已经认识,需要先出队
if(tail - head == m)
head++;
//6、新字符入队,翻看书本的次数增加
q[tail++] = a[i];
sum++;
}
}
cout << sum;
return 0;
}
这里空空如也
有帮助,赞一个