Pagini recente » Cod sursa (job #1591931) | Cod sursa (job #2902830) | Cod sursa (job #58108) | Cod sursa (job #1014444) | Cod sursa (job #3316154)
#include <bits/stdc++.h>
#include <fstream>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int main(){
int n,m;
char a,b;
fin>>n>>m;
set<pair<int,int>>s;
for(int i=0;i<m;i++){
fin>>a>>b;
s.insert({int(a)-96,int(b)-96});
s.insert({int(b)-96,int(a)-96});
}
int dp[1020][30];
for(int i=1;i<=26;i++)dp[1][i]=1;
int sum=26;
for(int i=2;i<=n;i++){
for(int j=1;j<=26;j++){
dp[i][j]=sum;
for(auto x:s){
if(x.first==j){
dp[i][j]-=dp[i-1][x.second];
}
}
}
sum=0;
for(int j=1;j<=26;j++){
sum+=dp[i][j];
}
}
fout<<sum;
return 0;
}