Pagini recente » Cod sursa (job #329719) | Cod sursa (job #1318354) | Cod sursa (job #2251189) | Cod sursa (job #247814) | Cod sursa (job #908503)
Cod sursa(job #908503)
#include <fstream>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;
int dp[1010][30], ad[30][30];
int main()
{
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int k, i, j, n, m, sum;
char x, y;
//Read
fin>>n>>m;
for(i=1; i<=m; i++)
{
fin>>x>>y;
ad[x-'a'+1][y-'a'+1] = 1;
ad[y-'a'+1][x-'a'+1] = 1;
}
//Compute
for(j=1; j<=26; j++)
dp[1][j] = 1;
for(i=2; i<=n; i++)
for(j=1; j<=26; j++)
for(k=1; k<=26; k++)
if(ad[j][k] == 0)
{
dp[i][k] += dp[i-1][j];
dp[i][k] = dp[i][k]%104659;
}
sum = 0;
for(j=1; j<=26; j++)
{
sum = sum+dp[n][j];
sum %= 104659;
}
//Print
fout<<sum;
}