Cod sursa(job #1216193)

Utilizator buzu.tudor67Tudor Buzu buzu.tudor67 Data 3 august 2014 17:07:28
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
ifstream fi("nrcuv.in");
ofstream fo("nrcuv.out");

const int MODULO = 104659;
const int max_n = 1005;
const int max_l = 31;

bool b[max_l][max_l];
int a[max_n][max_l];
int i,j,k,n,m,sol;
char x,y;

int main(){
    fi>>n>>m;

    for(i=0;i<28;i++)
      for(j=0;j<28;j++) b[i][j]=1;

    for(;m;m--){ 
                fi>>x>>y; 
                b[x-'a'][y-'a']=0;
                b[y-'a'][x-'a']=0; 
               }
    
    for(i=0;i<26;i++) a[1][i]=1;
    
    for(i=2;i<=n;i++)
      for(j=0;j<26;j++)
        for(k=0;k<26;k++)
          a[i][j]=(a[i][j]+b[j][k]*a[i-1][k])%MODULO;
    
    sol=0;
    for(i=0;i<26;i++) sol=(sol+a[n][i])%MODULO;
    
    fo<<sol;
    
    fi.close();
    fo.close();
    return 0;
}