Cod sursa(job #285903)

Utilizator DjSefuWrong name DjSefu Data 23 martie 2009 09:39:20
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[i][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;
}