Cod sursa(job #1994588)

Utilizator tifui.alexandruTifui Ioan Alexandru tifui.alexandru Data 25 iunie 2017 13:59:28
Problema Matrix Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
#define Nmax 1001
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int a[Nmax][Nmax];
int b[Nmax][Nmax];
int T[Nmax][Nmax];
int main()
{
    long long nr=0;
    int n,m,i,j;
    f>>m>>n;
    char ch;
    for(i=1;i<=m;i++)
        for(j=1;j<=m;j++)
        {
            f>>ch;
            a[i][j]=ch-'a';
        }
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            {
                f>>ch;
                b[i][j]=ch-'a';
            }
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        b[i][j]+=b[i-1][j]+b[i][j-1]-b[i-1][j-1];
    int x1,x2,x3;
    for(i=1;i<=m;i++)
        for(j=1;j<=m;j++)
        {
            x1=x2=x3=0;
            if(i-n>0) x1=a[i-n][j];
            if(j-n>0) x2=a[i][j-n];
            if(i-n>0 and j-n>0) x3=a[i-n][j-n];
            a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];
            T[i][j]=a[i][j]-x1-x2+x3;
            if(T[i][j]==b[n][n]) nr++;
        }
    g<<nr;

    return 0;
}