- 暴力枚举
S
i
S_i
Si,统计满足的
S
1
′
∼
S
5
′
S'_1 \sim S'_5
S1′∼S5′,若可以找到满足的子序列,标记该字符后进入下一层循环;
- 暴力枚举
S
j
S_j
Sj,统计满足的
S
6
′
∼
S
12
′
S'_6 \sim S'_{12}
S6′∼S12′,若可以找到满足的子序列,标记该字符后进入下一层循环;
- 暴力枚举
S
k
S_k
Sk,统计满足的
S
13
′
∼
S
17
′
S'_{13} \sim S'_{17}
S13′∼S17′,若可以找到满足的子序列,则将上面标记的直接输出即可。
#include<bits/stdc++.h>
using namespace std;
const int N = 300;
int b[N];
int main() {
int n;
cin>>n;
string s;
cin>>s;
for(int i=0; i<n; i++) {
b[s[i]]++;
if(b[s[i]]==5) {
char u1=s[i];
memset(b,0,sizeof b);
for(int j=i+1; j<n; j++) {
b[s[j]]++;
if(b[s[j]]==7) {
char u2=s[j];
memset(b,0,sizeof b);
for(int k=j+1; k<n; k++) {
b[s[k]]++;
if(b[s[k]]==5) {
char u3=s[k];
for(int u=0; u<5; u++) cout<<u1;
for(int u=0; u<7; u++) cout<<u2;
for(int u=0; u<5; u++) cout<<u3;
return 0;
}
}
}
}
}
}
cout<<"none";
return 0;
}