简单题,用字符串或者数组都可以做出来
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <string>
#include <set>
#include <unordered_map>
#define ms(a,b) memset((a),(b),sizeof(a))
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;
const int mod = 1e9 + 7;
const int P = 131;
const int N = 1010;
const int inf = 0x3f3f3f3f;
const ll lnf = 9e18;
int f( char a ) {
if( a >= 'a' && a <= 'z' ) return 1;
else if( a >= 'A' && a <= 'Z' ) return 2;
else if( a >= '0' && a <= '9' ) return 3;
else if( a == ' ' ) return 4;
else return 5;
}
int n, m, cnt = 0, kk = 0,ss=0;
string s[N];
string a;
int main() {
cin >> m >> n;
for( int i = 1; i <= n; i++ ) {
cin >> a;
int flag = 0;
for( int i = 0; i < ss; i++ ) {
if( s[i] == a ) {
flag = 1;
break;
}
}
if( flag == 0 ) {
if( ss >= m ) {
s[kk++] = a;
if( kk >= m ) kk = 0;
}
else {
s[ss++] = a;
}
cnt++;
}
}
cout << cnt << endl;
return 0;
}