Pagini recente » Cod sursa (job #1640597) | Cod sursa (job #1009874) | Cod sursa (job #1028898) | Cod sursa (job #1883046) | Cod sursa (job #157860)
Cod sursa(job #157860)
#include <stdio.h>
#include <string.h>
#define MAX 3040010
char a[MAX];
char gen1[30],gen2[30],final[30];
int fib[20];
int n,m,na,nb;
void genfib(int n){
int i;
fib[0]=1;
fib[1]=1;
for(i=2;i<=n;i++)
fib[i]=fib[i-1]+fib[i-2];
}
int adevar(int na,int nb)
{
int ok=0;
for (int p=0;p<nb;p++)
if (a[m-p-1]==a[m-p-1-na-nb] && a[m-p-1]==a[m-p-1-na-nb-nb])
ok=1;
else
return 0;
for (int i=0;i<na;i++)
if (a[m-nb-1]==a[m-nb-na-nb-nb-1])
ok=1;
else
return 0;
return 1;
}
void aflare()
{
double lga=0,lgb=0;
for (lgb=m/nb;lgb>0;lgb--)
{
if ((int)(m-lgb*nb)/na==(double)(m-lgb*nb)/na)
if (adevar((m-lgb*nb)/na,lgb))
{
for (int i=m-lgb-((m-lgb*nb)/na);i<m-lgb;i++)
printf("%c",a[i]);
printf("\n");
for (int j=m-lgb;j<m;j++)
printf("%c",a[j]);
printf("\n");
return;
}
}
printf("0\n");
}
int main ()
{
freopen("lampa.in","r",stdin);
freopen("lampa.out","w",stdout);
scanf("%d%d\n",&n,&m);
gets(a);
genfib(n);
na=fib[n-3];
nb=fib[n-2];
aflare();
fclose(stdout);
return 0;
}