Cod sursa(job #1905859)
Utilizator | 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;
}