Pagini recente » Cod sursa (job #3122604) | Cod sursa (job #1659496) | Cod sursa (job #1919609) | Cod sursa (job #1547941) | Cod sursa (job #767608)
Cod sursa(job #767608)
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int n, m, i, j;
bool bun[300][300];
char c, d;
for(c='a'; c<='z'; c++) {
for(d='a'; d<='z'; d++) {
bun[int(c)][int(d)]=1;
}
}
f>>n>>m;
for(i=1; i<=m; i++) {
f>>c>>d;
bun[int(c)][int(d)]=0;
bun[int(d)][int(c)]=0;
}
int dp[1005][300];
for(c='a'; c<='z'; c++) dp[0][int(c)]=0;
for(i=1; i<=n; i++) {
for(c='a'; c<='z'; c++) dp[i][int(c)] = dp[i-1][int(c)];
for(c='a'; c<='z'; c++) {
for(d='a'; d<='z'; d++) {
if(bun[int(c)][int(d)]) { dp[i][int(d)]++; dp[i][int(d)]%=104659; }
}
}
//g<<cuv[i]<<" ";
}
int rez=0;
for(c='a'; c<='z'; c++) {
//g<<dp[n][int(c)]<<" ";
rez+=dp[n][int(c)];
rez%=104659;
}
g<<rez<<"\n";
f.close();
g.close();
return 0;
}