Cod sursa(job #1017791)

Utilizator andrei_diaconuAndrei Diaconu andrei_diaconu Data 28 octombrie 2013 14:49:05
Problema Lista lui Andrei Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int a[27][1001], b[27][27], i, j, m, n, k;
char x,y;
int main()
{
    f>>n>>m;
    for(k=1;k<=m;k++)
    {
		f>>x>>y;
		b[x-'a'+1][y-'a'+1]=b[y-'a'+1][x-'a'+1]=1;
    }
    for(j=1;j<='z'-'a'+1;j++)
    {
		a[1][j]=1;
    }
    for(i=2;i<=n;i++)
    {
		for(j=1;j<='z'-'a'+1;j++)
		{
			for(k=1;k<='z'-'a'+1;k++)
			{
				if(b[k][j] == 0)
				{
					a[i][j]=(a[i][j]+a[i-1][k])%104659;
				}
			}
		}
    }
    int s = 0;
    for(i=1;i<='z'-'a'+1;i++)
    {
		s = (s + a[n][i])%104659;
    }
    g<<s;
    return 0;
}