Cod sursa(job #2394662)

Utilizator robertrRotaru Stefan Robert robertr Data 1 aprilie 2019 19:41:33
Problema Lista lui Andrei Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <string.h>
#define MOD 104659
using namespace std;
ifstream f("nrcuv.in");
ofstream g("nrcuv.out");
int n,k,v[30],nr;
bool ap[2730];
int numar(char a,char b)
{
    int nr=a-'a'+1;
    if(b>'i')
        nr*=100;
    else nr*=10;
    nr+=(b-'a'+1);
    return nr;
}
int main()
{
    f>>n>>k;
    for(int i=1;i<=26;i++)
        v[i]=26;
    for(int i=1;i<=k;i++)
    {
        char a,b;
        f>>a>>b;
        int y=numar(a,b);
        if(!ap[y])
        {
            v[a-'a'+1]--;
            if(a!=b)
                v[b-'a'+1]--;
            ap[y]=1;
            y=numar(b,a);
            ap[y]=1;
        }
    }
    nr=0;
    for(int i=2;i<=n;i++)
        for(int j=1;j<=26;j++)
            nr+=(v[j]%MOD),nr%=MOD;
    if(n==1)
        g<<26<<'\n';
    else g<<nr%MOD<<'\n';
    return 0;
}