Cod sursa(job #285902)
Utilizator | Data | 23 martie 2009 09:38:33 | |
---|---|---|---|
Problema | Lista lui Andrei | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include<fstream>
std::ifstream f("nrcuv.in");
std::ofstream g("nrcuv.out");
#define NMAX 1005
#define FOR(i,m) for(i=1;i<=m;++i)
int n,a[NMAX][29],i,j,m,k,b[150][150];
char x,y;
int main()
{ f>>n>>m;
FOR(i,m) { f>>x>>y;
b[x-'a'+1][y-'a'+1]=b[y-'a'+1][x-'a'+1]=1;
}
FOR(i,26) a[1][i]=1;
for(i=2;i<=n;++i) { FOR(j,26) { FOR(k,26) if(!b[j][k]) a[n][j]+=a[n-1][k];
a[i][j]%=104659;
}
}
k=0;
FOR(i,26) k+=a[n][i];
k%=104659;
g<<k<<"\n";
f.close();
g.close();
return 0;
}