Cod sursa(job #1905859)

Utilizator NinjaCubeMihai Radovici NinjaCube Data 6 martie 2017 11:22:46
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 2.6 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream fin ("cifre5.in");
    ofstream fout ("cifre5.out");
    int i,v,f;
    char n[25];

    fin>>v>>n;
    f=0;
    if (v==1)
    {
        for(i = 0; n[i] != NULL; i++)
        {
            if (n[i]=='0')
                f+=6;
            if (n[i]=='1')
                f+=2;
            if (n[i]=='2')
                f+=5;
            if (n[i]=='3')
                f+=5;
            if (n[i]=='4')
                f+=4;
            if (n[i]=='5')
                f+=5;
            if (n[i]=='6')
                f+=6;
            if (n[i]=='7')
                f+=3;
            if (n[i]=='8')
                f+=7;
            if (n[i]=='9')
                f+=6;
        }
        fout<<f;
    }
    else
    {
            int m[25],o;
            for(i = 0; n[i] != NULL; i++)
        {
            if (n[i]=='0'){
                m[i]=1;
                o=2;
            }
            if (n[i]=='1'){
                m[i]=5;
                o=7;
            }
            if (n[i]=='2'){
                m[i]=1;
                o=2;
            }
            if (n[i]=='3'){
                m[i]=1;
                o=2;
            }
            if (n[i]=='4'){
                m[i]=2;
                o=3;
            }
            if (n[i]=='5'){
                m[i]=3;
                o=4;
            }
            if (n[i]=='6'){
                m[i]=1;
                o=2;
            }
            if (n[i]=='7'){
                m[i]=2;
                o=5;
            }
            if (n[i]=='8'){
                m[i]=0;
                o=1;
            }
            if (n[i]=='9'){
                m[i]=1;
                o=2;
            }

        }
        int k=i;
        f=m[k];
        for (i=k-1;i>=0;--i){
            f+=m[i]*o;
            if (n[i]=='0'){
                o*=2;
            }
            if (n[i]=='1'){
                o*=7;
            }
            if (n[i]=='2'){
                o*=2;
            }
            if (n[i]=='3'){
                o*=2;
            }
            if (n[i]=='4'){
                o*=3;
            }
            if (n[i]=='5'){
                o*=4;
            }
            if (n[i]=='6'){
                o*=2;
            }
            if (n[i]=='7'){
                o*=5;
            }
            if (n[i]=='8'){
                o*=1;
            }
            if (n[i]=='9'){
                o*=2;
            }

        }
    fout<<f;

    }

    return 0;
}