The Text Splitting
来源:互联网 发布:php 数组移除指定元素 编辑:程序博客网 时间:2024/05/23 17:14
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
5 2 3Hello
2Hello
10 9 5Codeforces
2Codeforces
6 4 5Privet
-1
8 1 1abacabac
8abacabac
#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>char s[101]; int main(){ int n; int q,p; scanf("%d%d%d",&n,&q,&p); scanf("%s",s); if(n%q==0){printf("%d\n",n/q);for(int j=0;j<(n/q);j++){for(int i=j*q;i<(j+1)*q;i++) { printf("%c",s[i]); } printf("\n"); } return 0;} if(n%p==0) { printf("%d\n",n/p); for(int j=0;j<(n/p);j++) {for(int i=j*p;i<(j+1)*p;i++) { printf("%c",s[i]); } printf("\n"); } return 0; } for( int i=1;i<=100;i++) { for(int j=1;j<=100;j++) { if(n==i*q+p*j) { printf("%d\n",i+j); for(int x=0;x<i;x++) { for(int y=x*q;y<(x+1)*q;y++) { printf("%c",s[y]); } printf("\n"); } for(int x=0;x<j;x++) { for(int y=x*p+q*i;y<(x+1)*p+q*i;y++)// 例如13==5+5+3;y的id要从q*i开始。 { printf("%c",s[y]); } printf("\n"); } return 0; } } } printf("-1\n");return 0;}
- codeforces_612A. The Text Splitting
- The Text Splitting【贪心】
- The Text Splitting
- The Text Splitting
- E - The Text Splitting
- The Text Splitting
- 【codeforces】The Text Splitting
- 2015_12_26 A. The Text Splitting
- Codeforces 612A The Text Splitting 【暴力】
- #UPCF Round1 A - The Text Splitting
- CodeForces 612A The Text Splitting
- 【CodeForces】[612A]The Text Splitting
- codeforces 612A The Text Splitting
- The Text Splitting CodeForces 612A
- The Text Splitting(字符串问题)
- CodeForces 612A The Text Splitting
- CodeForces 612A The Text Splitting
- 【 CodeForces 612A 】 The Text Splitting
- linux 新建一个管理员用户admin,需要使用的参数()
- Java操作Mongodb(转载)
- angular的http三种请求方式
- Codeforces Round #304 (Div. 2) D 线性筛
- 牛逼哄哄的SLAM技术 即将颠覆哪些领域?
- The Text Splitting
- L - Kefa and Company
- 多态性-运算符重载
- 百练 4116 拯救行动
- PAT-B 1019. 数字黑洞
- 百练 04 简单的整数划分问题
- Restaurant--贪心
- Pasha and Stick
- 查看 jvm Xss 命令