Cod sursa(job #2476934)

Utilizator Dusceac_Bogdan24Dusceac Bogdan Dusceac_Bogdan24 Data 19 octombrie 2019 12:44:01
Problema Lista lui Andrei Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
long long n,k,q,v[100005];
int dp[1005][150],mat[1005][150];
char a,b;
int main()
{
    cin>>n>>k;
    for(int i=1;i<=k;i++){
        cin>>a>>b;
        mat[a][b]=mat[b][a]=1;
    }
    for(int i='a';i<='z';i++){
        dp[1][i]=1;
    }
    for(int i=2;i<=n;i++){
        for(int a='a';a<='z';++a){
            for(int b='a';b<='z';++b){
                if(mat[a][b]==0){
                    dp[i][b]+=dp[i-1][a];
                    dp[i][b]%=104659;
                }
            }
        }
    }
    int ans=0;
    for(int i='a';i<='z';i++){
        ans+=dp[n][i];
        ans%=104659;
    }
    cout<<ans;
    return 0;
}