Cod sursa(job #2068331)
| Utilizator | Data | 17 noiembrie 2017 16:39:58 | |
|---|---|---|---|
| Problema | Lista lui Andrei | Scor | 15 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.8 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("nrcuv.in");
ofstream fout("nrcuv.out");
int nn, m, n[1005], nrinv;
bool inv[28][28];
int main()
{
int i;
char x, y;
fin>>nn>>m;
fin.get();
for(i=1; i<=m; i++)
{
fin>>x>>y;
if(x-'a'==y-'a')
{
if(!inv[x-'a'][y-'a'])
{
inv[x-'a'][y-'a']=1;
nrinv++;
}
}
else
{
if(!inv[x-'a'][y-'a'])
{
inv[x-'a'][y-'a']=1;
inv[y-'a'][x-'a']=1;
nrinv+=2;
}
}
}
n[1]=26;
for(i=2; i<=nn; i++)
n[i]=((n[i-1]*26)-nrinv)%104659;
fout<<n[nn];
return 0;
}
