Cod sursa(job #911418)
Utilizator | Apopeid Alejandro apopeid13 | Data | 11 martie 2013 17:04:00 |
---|---|---|---|
Problema | Ciclu hamiltonian de cost minim | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<fstream>
#define mod 104659
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int n,m,i,nr,d[1001][26],rez[26][26],j,k;
char l1,l2;
int main()
{
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>l1>>l2;
rez[l1-'a'][l2-'a']=rez[l2-'a'][l1-'a']=1;
}
for(i=0;i<26;i++)
d[1][i]=1;
for(i=2;i<=n;i++)
for(j=0;j<26;j++)
for(k=0;k<26;k++)
if(rez[j][k]==0)
d[i][j]=(d[i-1][k]+d[i][j])%mod;
for(i=0;i<26;i++)
nr=(nr+d[n][i])%mod;
g<<nr;
}