Cod sursa(job #2263158)

Utilizator armigheGheorghe Liviu Armand armighe Data 18 octombrie 2018 12:07:55
Problema Lista lui Andrei Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<cstdio>
#include<fstream>
using namespace std;
FILE *f=fopen("nrcuv.in","r");
ofstream g("nrcuv.out");
bool a[30][30];
int nrcuv[1002][30];
int main()
{
    int n,m,i,j,l,sol=0;
    char c,d;
    fscanf(f,"%d%d",&n,&m);
    for(i=1;i<=m;i++)
    {
        fscanf(f,"%c",&c);
        fscanf(f,"%c",&c);
        fscanf(f,"%c",&d);
        fscanf(f,"%c",&d);
        a[c-'a'+1][d-'a'+1]=1;
        a[d-'a'+1][c-'a'+1]=1;
    }
    for(i=1;i<=26;i++)
        nrcuv[1][i]=1;
    for(i=2;i<=n;i++)
    {
        for(j=1;j<=26;j++)
        {
            for(l=1;l<=26;l++)
            if(a[j][l]==0)
            {
                nrcuv[i][j]+=nrcuv[i-1][l];
                nrcuv[i][j]%=104659;
            }
        }
    }
    for(i=1;i<=26;i++)
        sol+=nrcuv[n][i];
    sol%=104659;
    g<<sol;
    return 0;
}