Cod sursa(job #1845207)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 11 ianuarie 2017 00:27:56
Problema Sarpe Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <cstring>
#define nmax 1100
using namespace std;
ifstream f("sarpe.in");
ofstream g("sarpe.out");
char s[nmax];
int n,v[nmax*2];

int main()
{
    int i,j;
    f.getline(s+1,nmax);
    n=strlen(s+1);
    if (n==1&&s[1]=='1') {
        g<<2;
        return 0;
    }
    for (i=1,j=n;i<j;i++,j--)
        swap(s[i],s[j]);
    for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)
            v[i+j-1]+=2*(s[i]-'0')*(s[j]-'0');
    for (i=1;i<=n;i++)
        v[i]-=2*(s[i]-'0');
    v[1]+=4;
    for (i=1;i<=2*n;i++) {
        while (v[i]<0) {
            v[i]+=10;
            v[i+1]--;
        }
        if (v[i]>9) {
            v[i+1]+=v[i]/10;
            v[i]%=10;
        }
    }
    for (i=2100;v[i]==0;i--);
    for (j=i;j>=1;j--)
        g<<v[j];
    return 0;
}