Cod sursa(job #905275)

Utilizator bratiefanutBratie Fanut bratiefanut Data 5 martie 2013 18:28:16
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.92 kb
#include <fstream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

ifstream f("cifra.in");
ofstream g("cifra.out");

int T,i,j,l,ultim, penultim,a[10][10],nr;
char s[103],x[2];

int main()
{
   a[0][0]=0; a[0][1]=1; a[0][2]=5; a[0][3]=2; a[0][4]=8; a[0][5]=3; a[0][6]=9; a[0][7]=2; a[0][8]=8; a[0][9]=7;
   a[1][0]=7; a[1][1]=8; a[1][2]=4; a[1][3]=7; a[1][4]=3; a[1][5]=8; a[1][6]=4; a[1][7]=1; a[1][8]=5; a[1][9]=4;
   a[2][0]=4; a[2][1]=5; a[2][2]=9; a[2][3]=6; a[2][4]=2; a[2][5]=7; a[2][6]=3; a[2][7]=6; a[2][8]=2; a[2][9]=1;
   a[3][0]=1; a[3][1]=2; a[3][2]=8; a[3][3]=1; a[3][4]=7; a[3][5]=2; a[3][6]=8; a[3][7]=5; a[3][8]=9; a[3][9]=8;
   a[4][0]=8; a[4][1]=9; a[4][2]=3; a[4][3]=0; a[4][4]=6; a[4][5]=1; a[4][6]=7; a[4][7]=0; a[4][8]=6; a[4][9]=5;
   a[5][0]=5; a[5][1]=6; a[5][2]=2; a[5][3]=5; a[5][4]=1; a[5][5]=6; a[5][6]=2; a[5][7]=9; a[5][8]=3; a[5][9]=2;
   a[6][0]=2; a[6][1]=3; a[6][2]=7; a[6][3]=4; a[6][4]=0; a[6][5]=5; a[6][6]=1; a[6][7]=4; a[6][8]=0; a[6][9]=9;
   a[7][0]=9; a[7][1]=0; a[7][2]=6; a[7][3]=9; a[7][4]=5; a[7][5]=0; a[7][6]=6; a[7][7]=3; a[7][8]=7; a[7][9]=6;
   a[8][0]=6; a[8][1]=7; a[8][2]=1; a[8][3]=8; a[8][4]=4; a[8][5]=9; a[8][6]=5; a[8][7]=8; a[8][8]=4; a[8][9]=3;
   a[9][0]=3; a[9][1]=4; a[9][2]=0; a[9][3]=3; a[9][4]=9; a[9][5]=4; a[9][6]=0; a[9][7]=7; a[9][8]=1; a[9][9]=0;

   f>>T;

for(i=1;i<=T;i++)
{
        f>>s;
       l=strlen(s);

       if(l>2)
       {
        //reverse(s,s+l);
        strcpy(x,s+(l-2));
        //reverse(x,x+strlen(x));
        nr=atoi(x);
        ultim=nr%10;
        penultim=nr/10%10;
        g<<a[penultim][ultim]<<'\n';
       }
       else
       {
        //reverse(s,s+l);
        //strncpy(x,s,1);
        //reverse(x,x+strlen(x));
        nr=atoi(s);
        //ultim=nr%10;
        //penultim=nr/10%10;
        g<<a[0][nr]<<'\n';
       }
   }
   f.close();
   g.close();
   return 0;
}