Cod sursa(job #2068339)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 17 noiembrie 2017 16:56:32
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int n, m, a[1005][28], nrinv;
bool inv[28][28];
int main()
{
    int i, k, j, sol=0;
    char x, y;
    fin>>n>>m;
    fin.get();
    for(i=1; i<=m; i++)
    {
        fin>>x>>y;
        inv[x-'a'][y-'a']=1;
        inv[y-'a'][x-'a']=1;
    }
    for(i=1; i<=26; i++)
        a[1][i]=1;
    for(k=2; k<=n; k++)
    {
        for(i=1; i<=26; i++)
            for(j=1; j<=26; j++)
                if(!inv[i-1][j-1])
                {
                    a[k][i]+=a[k-1][j];
                    a[k][i]%=104659;
                }
    }
    for(i=1; i<=26; i++)
    {
        sol+=a[n][i];
        sol%=104659;
    }
    fout<<sol<<'\n';
    return 0;
}