Cod sursa(job #632007)

Utilizator otilia_sOtilia Stretcu otilia_s Data 10 noiembrie 2011 00:44:19
Problema Matrix Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream> 
#include <stdlib.h>
#include <iostream>
#include <cstring>
using namespace std;
#define NMAX 1024

char ch[NMAX][NMAX][27];
int n,m;
char a[NMAX][NMAX];
int v[27];

void citire()
{
    ifstream fin("matrix.in");
    fin>>m>>n;
    
   // cout<<m<<" "<<n<<endl;
    int i,j;
    for (i=1;i<=m;++i)
	fin>>(a[i]+1);
    for (i=0;i<n;++i)
    {
	char s[NMAX];
	fin>>s;
	for (j=0;j<n;++j)
	    v[s[j]-'a']++;
    }
}

int main()
{
    citire();    
    
    int i,j,k,sol=0,cate;

    for (i=0;i<m;++i)
	for (j=0;j<m;++j)	
	{
	    cate=0;
	    for (k=0;k<26;++k)
	    {
		ch[i][j][k]=ch[i-1][j][k]+ch[i][j-1][k]-ch[i-1][j-1][k];
		if (i>=n && j>=n && ch[i][j][k]-ch[i-n][j][k]-ch[i][j-n][k]+ch[i-n][j-n][k]==v[k]) 
		    ++cate;
	    }	 
	    if (cate==26) ++sol;
	}
    
    ofstream fout("matrix.out");
    fout<<sol;

    system("pause");
    return 0;
}