Codeforces Round #302 (Div. 2)——A—— Set of Strings
2780 단어 codeforces
Find any beautiful sequence of strings or determine that the beautiful sequence doesn't exist.
Input
The first line contains a positive integer k (1 ≤ k ≤ 26) — the number of strings that should be in a beautiful sequence.
The second line contains string q, consisting of lowercase Latin letters. The length of the string is within range from 1 to 100, inclusive.
Output
If such sequence doesn't exist, then print in a single line "NO"(without the quotes). Otherwise, print in the first line "YES"(without the quotes) and in the next k lines print the beautiful sequence of strings s1, s2, ..., sk.
If there are multiple possible answers, print any of them.
Sample test(s)
input
1
abca
output
YES
abca
input
2
aaacas
output
YES
aaa
cas
input
4
abc
output
NO
Note
In the second sample there are two possible answers: {"aaaca", "s"} and {"aaa", "cas"}.
대의: 한 꿰미와 한 숫자 n을 주고 큰 꿰미를 n개의 작은 꿰미로 나눌 수 있느냐고 묻는다. 각 작은 꿰미의 첫 번째 자모를 만족시키는 것은 모두 다르다.
내 비교 코드.먼저 최대 몇 개의 직렬로 나눌 수 있는지 확인한 다음에 각 직렬의 시작점을 표시한 다음에 이 시작점에 따라 출력을 하고vis로 이 자모가 접근했는지 표시합니다
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char s[150];
int main()
{
int n;
int b[30];
memset(b,-1,sizeof(b));
scanf("%d",&n);
getchar();
scanf("%s",s);
int ans = 0;
for(int i = 0 ; i < strlen(s) ;i++)
if(b[s[i]-'a'] == -1){
ans++;
b[s[i]-'a'] = i;
}
int k = 0;
int c[30];
int vis[30];
memset(vis,0,sizeof(vis));
if(ans >= n){
printf("YES
");
for(int i = 0 ; i < strlen(s); i++){
if(b[s[i]-'a']!=-1 && vis[s[i]-'a'] == 0){
c[k++] = b[s[i]-'a'];
vis[s[i]-'a'] = 1;
}
if(k == n) break;
}
for(int i = 0; i < n -1 ;i++){
for(int j = c[i] ; j < c[i+1] ; j++)
printf("%c",s[j]);
printf("
");
}
for(int j = c[n-1]; j < strlen(s); j++)
printf("%c",s[j]);
printf("
");
}
else printf("NO
");
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Codeforces Round #715 Div. 2C The Sports Festival: 구간 DP전형구간 DP의 초전형. 이하, 0-indexed. 입력을 정렬하여 어디서나 시작하고 최적으로 좌우로 계속 유지하면 좋다는 것을 알 수 있습니다. {2000})$의 주문이 된다. 우선, 입력을 소트하여 n개의 요소를 $...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.