The Text Splitting CodeForces 612A
Description
You are given the string s of length n and the numbers p, q. Split the string s to pieces of length p and q.
For example, the string "Hello" for p = 2, q = 3 can be split to the two strings "Hel" and "lo" or to the two strings "He" and "llo".
Note it is allowed to split the string s to the strings only of length p or to the strings only of length q (see the second sample test).
Input
The first line contains three positive integers n, p, q (1 ≤ p, q ≤ n ≤ 100).
The second line contains the string s consists of lowercase and uppercase latin letters and digits.
Output
If it's impossible to split the string s to the strings of length p and q print the only number "-1".
Otherwise in the first line print integer k — the number of strings in partition of s.
Each of the next k lines should contain the strings in partition. Each string should be of the length p or q. The string should be in order of their appearing in string s — from left to right.
If there are several solutions print any of them.
Sample Input
Input
5 2 3
Hello
Output
2
He
llo
Input
10 9 5
Codeforces
Output
2
Codef
orces
Input
6 4 5
Privet
Output
-1
Input
8 1 1
abacabac
Output
8
a
b
a
c
a
b
a
You are given the string s of length n and the numbers p, q. Split the string s to pieces of length p and q.
For example, the string "Hello" for p = 2, q = 3 can be split to the two strings "Hel" and "lo" or to the two strings "He" and "llo".
Note it is allowed to split the string s to the strings only of length p or to the strings only of length q (see the second sample test).
Input
The first line contains three positive integers n, p, q (1 ≤ p, q ≤ n ≤ 100).
The second line contains the string s consists of lowercase and uppercase latin letters and digits.
Output
If it's impossible to split the string s to the strings of length p and q print the only number "-1".
Otherwise in the first line print integer k — the number of strings in partition of s.
Each of the next k lines should contain the strings in partition. Each string should be of the length p or q. The string should be in order of their appearing in string s — from left to right.
If there are several solutions print any of them.
Sample Input
Input
5 2 3
Hello
Output
2
He
llo
Input
10 9 5
Codeforces
Output
2
Codef
orces
Input
6 4 5
Privet
Output
-1
Input
8 1 1
abacabac
Output
8
a
b
a
c
a
b
a
c
#include<stdio.h>
#include<string.h>
int main()
{
int k,p,q,i,j,b,c,d,ans;
char a[110];
while(scanf("%d%d%d",&k,&p,&q)!=EOF)
{
ans=-1;
getchar();
scanf("%s",&a);
getchar();
for(i=0;i<=k/p;i++)
{
for(j=0;j<=k/q;j++)
if(i*p+j*q==k)<span style="white-space:pre"> </span>//要判斷是否 i個 p 加上 j個 q 也等於 K
{
ans=i+j;
c=i;
d=j;
}
}
if(ans==-1)
{
printf("-1\n");
}
else
{
printf("%d\n",ans);
for(i=0;i<c;i++)
{
for(j=(0+p*i);j<(p+p*i);j++)
printf("%c",a[j]);
printf("\n");
}
for(i=0;i<d;i++)
{
for(j=(c*p+q*i);j<(c*p+q+q*i);j++)
printf("%c",a[j]);
printf("\n");
}
}
}
return 0;
}
相關文章
- C. Splitting Items
- vuejs code splitting with webpack 3種模式VueJSWeb模式
- CF2004C Splitting Items 題解
- Webpack的Code Splitting實現按需載入Web
- text
- Codeforces
- text/html和text/plain的區別HTMLAI
- Text Representation
- CodeForces 1307
- 9.11 codeforces
- 【CodeForces訓練記錄】Codeforces Global Round 27
- CSS 文字裝飾 text-decoration & text-emphasisCSS
- ORACLE TEXT(轉)Oracle
- DAN Text Classification
- text1
- text-to-motion
- codeforces Photo of The Sky
- Codeforces 專區
- codeforces 11/10
- CodeForces 1935A
- Codeforces Round 955
- Codeforces - Jzzhu and Numbers
- 【CodeForces訓練記錄】Codeforces Round 982 (Div. 2)
- 【CodeForces訓練記錄】Codeforces Round 986 (Div. 2)
- 【CodeForces訓練記錄】Codeforces Round 981 (Div. 3)
- 【CodeForces訓練記錄】Codeforces Round 984 (Div. 3)
- 【CodeForces訓練記錄】Codeforces Round 991 (Div. 3)
- WPF Text MultiBinding StringFormatORM
- CSS text-strokeCSS
- CSS text-shadowCSS
- CSS text-overflowCSS
- Oracle Text簡介Oracle
- ASBFAT:Sublime Text 3
- Leetcode 68 Text JustificationLeetCode
- 深入char、varchar、text
- 【CodeForces訓練記錄VP】Codeforces Round 933 (Div. 3)
- codeforces_1131_D
- codeforces_B. Barnicle