【Codeforces 612A】The Text Splitting
来源:互联网 发布:python 获取局域网ip 编辑:程序博客网 时间:2024/06/06 02:06
The Text Splitting
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
c
可以分成任意数量的 p,q,题目简单不多解释,看代码:
#include<stdio.h>int main(){ char ch[1010]; int n,p,q,i,x,y,j,t; while(scanf("%d%d%d",&n,&p,&q)!=EOF) { scanf("%s",ch); if(n%p==0) { printf("%d\n",n/p); for(i=1;i<=n;i++) { printf("%c",ch[i-1]); if(i%p==0) printf("\n"); } } else if(n%q==0) { printf("%d\n",n/q); for(i=1;i<=n;i++) { printf("%c",ch[i-1]); if(i%q==0) printf("\n"); } } else { t=0; for(i=0;i<=n;i++) for(j=0;j<=n;j++) { if(i*p+j*q==n) { x=i; y=j; t=1; break; } } if(!t) printf("-1\n"); else { printf("%d\n",x+y); for(i=1;i<=x*p;i++) { printf("%c",ch[i-1]); if(i%p==0) printf("\n"); } for(i=x*p+1;i<=n;i++) { printf("%c",ch[i-1]); if((i-x*p)%q==0) printf("\n"); } } } } return 0;}
- Codeforces 612A The Text Splitting 【暴力】
- CodeForces 612A The Text Splitting
- 【CodeForces】[612A]The Text Splitting
- codeforces 612A The Text Splitting
- The Text Splitting CodeForces 612A
- CodeForces 612A The Text Splitting
- CodeForces 612A The Text Splitting
- 【 CodeForces 612A 】 The Text Splitting
- 【CodeForces】 612A - The Text Splitting
- 【Codeforces 612A】The Text Splitting
- CodeForces 612 A. The Text Splitting(水~)
- 【CodeForces】612A - The Text Splitting(枚举)
- Codeforces 612A: The Text Splitting(略水)
- 【Codeforces】-612A-The Text Splitting(数学)
- 【codeforces】The Text Splitting
- Educational Codeforces Round 4 A. The Text Splitting
- 【codeforces】A. The Text Splitting(思维题-水题)
- 2015_12_26 A. The Text Splitting
- IOS 如何避免Block的循环引用
- iOS 实现不定参数方法
- java中String类为什么要设计成final
- Java学习笔记(22)Developing Efficient Algorithms
- PAT A1065 A+B and C (64bit) (20)
- 【Codeforces 612A】The Text Splitting
- ubuntu搭建scikit-learn环境及pydev+eclipse
- 响应式布局简单代码
- 删数--约瑟夫环-- 华为2016研发工程师编程题
- SQL 查询的结果某个字段是Null,用默认的值代替
- ajax传数据和图片(base64格式)
- 实习点滴 - 破窗理论、C++ 函数模板静态库
- LogMonitor
- PhotoView 源码解析