Cod sursa(job #872689)

Utilizator mazaandreiAndrei Mazareanu mazaandrei Data 6 februarie 2013 14:58:47
Problema Lista lui Andrei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
# include <fstream>
# include <vector>
# define dim 30
# define dim2 1005
# define mod 104659
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int uz[ dim ][ dim ], dp[ dim2 ][ dim ];
int n,m;
int sol;
int main(){
    char a,b;
    f>>n>>m;
    for(int i=1;i<=m;i++){
        f>>a>>b;
        uz[a-'a'+1][b-'a'+1]=1;
        uz[b-'a'+1][a-'a'+1]=1;
    }
    for(int i=1;i<=26;i++ )
        dp[1][i]=1;
    for (int i=2;i<=n;i++)
      for (int j=1;j<=26;j++)
        for (int k=1;k<=26;k++)
            if(uz[j][k]==0)
                dp[i][j]=(dp[i][j]+dp[i-1][k])%mod;
    for (int i=1;i<=26;i++)
        sol=(sol+dp[n][i])%mod;
    g<<sol;
    return 0;
}