Pagini recente » Cod sursa (job #2680478) | Cod sursa (job #895127) | Cod sursa (job #2572507) | Cod sursa (job #2255947) | Cod sursa (job #2114817)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("prod.in");
ofstream g("prod.out");
int a[1001],i,x,j,n,nr11,nr22,ok,paritate,p,T,rez[10001],sol;
int nr1[1001],nr2[1001];
int main()
{
for(i=1;i<=9;i++)
{
f>>x;
for(j=1;j<=x;j++)
a[++n]=i;
}
i=n;
ok=1;
while(ok==1&&i>=1)
{
if(nr11<=nr22)
nr1[++nr11]=a[i];
else
nr2[++nr22]=a[i];
if(nr1[nr11]!=nr2[nr22]&&nr11==nr22)
ok=0;
i--;
}
j=i;
i=n-i;
i=n-i;
paritate=1;
while(i>=1)
{
if(paritate%2==1)
{
nr2[++nr22]=a[i];
}
else
{
nr1[++nr11]=a[i];
}
i--;
}
reverse(nr1+1,nr1+1+nr11);
reverse(nr2+1,nr2+1+nr22);
nr1[0]=nr11;
nr2[0]=nr22;
rez[0]=nr1[0]+nr2[0]-1;
for (i=1;i<=nr1[0]+nr2[0];)
rez[i++]=0;
for (i=1;i<=nr1[0];i++)
for (j=1;j<=nr2[0];j++)
rez[i+j-1]+=nr1[i]*nr2[j];
for (i=1;i<=rez[0];i++)
{ T=(rez[i]+=T)/10;
rez[i]%=10;
}
if (T) rez[++rez[0]]=T;
for(i=nr1[0]+nr2[0];i>=1;i--)
g<<rez[i];
return 0;
}