Cod sursa(job #975718)

Utilizator manutrutaEmanuel Truta manutruta Data 21 iulie 2013 13:18:29
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.42 kb
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int sol[100];
int T;

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

void atribuire() {
    sol[0] = 0;
    sol[1] = 1;
    sol[2] = 5;
    sol[3] = 32;
    sol[4] = 88;
    sol[5] = 13;
    sol[6] = 69;
    sol[7] = 12;
    sol[8] = 28;
    sol[9] = 17;
    sol[10] = 17;
    sol[11] = 28;
    sol[12] = 84;
    sol[13] = 37;
    sol[14] = 53;
    sol[15] = 28;
    sol[16] = 44;
    sol[17] = 21;
    sol[18] = 45;
    sol[19] = 24;
    sol[20] = 24;
    sol[21] = 45;
    sol[22] = 29;
    sol[23] = 96;
    sol[24] = 72;
    sol[25] = 97;
    sol[26] = 73;
    sol[27] = 76;
    sol[28] = 12;
    sol[29] = 81;
    sol[30] = 81;
    sol[31] = 12;
    sol[32] = 88;
    sol[33] = 1;
    sol[34] = 37;
    sol[35] = 12;
    sol[36] = 48;
    sol[37] = 65;
    sol[38] = 69;
    sol[39] = 28;
    sol[40] = 28;
    sol[41] = 69;
    sol[42] = 33;
    sol[43] = 40;
    sol[44] = 36;
    sol[45] = 61;
    sol[46] = 57;
    sol[47] = 20;
    sol[48] = 76;
    sol[49] = 25;
    sol[50] = 25;
    sol[51] = 76;
    sol[52] = 72;
    sol[53] = 45;
    sol[54] = 1;
    sol[55] = 76;
    sol[56] = 32;
    sol[57] = 89;
    sol[58] = 73;
    sol[59] = 12;
    sol[60] = 12;
    sol[61] = 73;
    sol[62] = 17;
    sol[63] = 64;
    sol[64] = 80;
    sol[65] = 5;
    sol[66] = 21;
    sol[67] = 44;
    sol[68] = 20;
    sol[69] = 49;
    sol[70] = 49;
    sol[71] = 20;
    sol[72] = 36;
    sol[73] = 69;
    sol[74] = 45;
    sol[75] = 20;
    sol[76] = 96;
    sol[77] = 93;
    sol[78] = 57;
    sol[79] = 76;
    sol[80] = 76;
    sol[81] = 57;
    sol[82] = 81;
    sol[83] = 68;
    sol[84] = 4;
    sol[85] = 29;
    sol[86] = 65;
    sol[87] = 48;
    sol[88] = 44;
    sol[89] = 53;
    sol[90] = 53;
    sol[91] = 44;
    sol[92] = 80;
    sol[93] = 73;
    sol[94] = 69;
    sol[95] = 44;
    sol[96] = 40;
    sol[97] = 77;
    sol[98] = 21;
    sol[99] = 20;
}

int main()
{
    string a;
    f >> T;
    getline(f, a);

    atribuire();

    for (int i = 1; i <= T; i++) {
        getline(f, a);
        if (a.size() > 1) {
            int x;
            x = (a[a.size() - 2] - '0') * 10 + (a[a.size() - 1] - '0');
            g << sol[x] % 10 << '\n';
        }
        else
            g << sol[a[0] - '0'] % 10 << '\n';
    }

    return 0;
}