Cod sursa(job #276670)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 11 martie 2009 12:04:45
Problema Lista lui Andrei Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#define MAX 104659

using namespace std;

ifstream fin ("nrcuv.in");
ofstream fout ("nrcuv.out");

int mat[30][30];
int sir[30];
long long rez[32];
int n,nr;

int main ()
{
     char c1,c2;
     fin>>n>>nr;
     while (nr)
     {
          fin>>c1>>c2;
          if (mat[c1-'a'][c2-'a']==0)
          {
               mat[c1-'a'][c2-'a']=1;
               sir[c1-'a']++;
          }
          if (mat[c2-'a'][c1-'a']==0)
          {
               mat[c2-'a'][c1-'a']=1;
               sir[c2-'a']++;
          }nr--;
     }
     for (int i=0;i<30;i++)
          rez[i]=1;

     for (int i=1;i<n;i++)
     {
          for (int j=0;j<26;j++)
          {
                    rez[j]*=(26-sir[j]);
                    rez[j]%=MAX;
          }
     }

     long long S=0;
     for (int i=0;i<26;i++)
          S+=rez[i];
     fout<<S%MAX;
     return 0;
}