Cod sursa(job #2226807)

Utilizator vadim171098vadim pislari vadim171098 Data 30 iulie 2018 17:58:46
Problema Lista lui Andrei Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream>
#include <fstream>
#define MAX 2000
using namespace std;

typedef struct {
char sursa, destin;
} excep;

int main()
{
    ifstream in("nrcuv.in");
    ofstream out("nrcuv.out");

    int litere, nr,i,j;
    excep arr[MAX];
    long long lit[26];
    for (i = 0; i!= 26; i++)lit[i] = 26;
    in >> litere >>nr;
    for(i = 0 ; i != nr; i++){
        in >> arr[i].sursa >> arr[i].destin;
        int aux = 0;
        for (j = 0; j != i; j++){
            if((arr[i].sursa == arr[j].sursa && arr[i].destin == arr[j].destin)
            || (arr[i].sursa == arr[j].destin && arr[i].destin == arr[j].sursa)) aux = 1;
        }
        if(aux == 0) {
            int m = (int)arr[i].sursa - 97;
            int n = (int)arr[i].destin - 97;
            out << m <<" "<< n <<endl;
            if(m != n){
                lit[m]--;
                lit[n]--;
            }
            else lit[m]--;
        }
    }
    for(j = 1 ; j != litere-1; j++)
        for(i = 0; i != 26;i++){
            lit[i] =lit[i] *lit[i] % 104659;
        }
    long long rez = 0;
    for(i = 0; i != 26;i++){
            rez += lit[i];
    }
    out<<rez% 104659<<endl;
    return 0;
}