Cod sursa(job #2634239)

Utilizator stefantagaTaga Stefan stefantaga Data 10 iulie 2020 10:44:08
Problema Abc2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <bits/stdc++.h>
#define MOD 1000000007
#define baza 27
using namespace std;
ifstream f("aranjare1.in");
ofstream g("aranjare1.out");
int n,m,k1,i,j,k,t,q,vec[10005],n1;
long long nr;
map <int,int> fr;
char v[105][105],s[10005];
int main()
{
    f>>n>>m>>k1;
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=n;j++)
        {
            f>>v[i][j];
        }
    }
    for (i=1;i<=n-m+1;i++)
    {
        for (j=1;j<=n-m+1;j++)
        {
            q=0;
            for (k=i;k<=i+m-1;k++)
            {
                for (t=j;t<=j+m-1;t++)
                {
                    vec[++q]=v[k][t]-'A'+1;
                }
            }
            sort (vec+1,vec+q+1);
            nr=0;
            for (k=1;k<=q;k++)
            {
                nr=(1LL*nr*baza+vec[k])%MOD;
            }
            fr[nr]++;
        }
    }
    for (i=1;i<=k1;i++)
    {
        f>>s;
        n1=strlen(s);
        for (j=0;j<n1;j++)
        {
            vec[j+1]=s[j]-'A'+1;
        }
        sort (vec+1,vec+n1+1);
        nr=0;
        for (j=1;j<=n1;j++)
        {
            nr=(nr*baza+vec[j])%MOD;
        }
        g<<fr[nr]<<'\n';
    }
    return 0;
}