因为题目说多种结果输出一种即可
所以相当于问一个二元一次方程有无整数解
数据小可以枚举法找到整数解
然后分段输出即可
#include<stdio.h>
char s[120];
int main() {
int n,p,q;
while(scanf("%d %d %d",&n,&p,&q)!=EOF) {
scanf("%s",s);
int a=-1,b=-1;
for(int i=0; i<=n; i++) {
for(int j=0; j<=n; j++) {
if(i*p+j*q==n) {
a=i;
b=j;
break;
}
}
}
if(a==-1)
printf("-1
");
else {
printf("%d
",a+b);
for(int i=0; i<a; i++) {
for(int j=0; j<p; j++)
printf("%c",s[p*i+j]);
printf("
");
}
for(int i=0; i<b; i++) {
for(int j=0; j<q; j++)
printf("%c",s[p*a+q*i+j]);
printf("
");
}
}
}
return 0;
}