Cod sursa(job #873837)

Utilizator radu_bucurRadu Bucur radu_bucur Data 7 februarie 2013 17:58:35
Problema Matrix Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream in("matrix.in");
ofstream out("matrix.out");
int m,n,i,j,l, ok1, nr,t[1001][1001],v[27];
bool b[1001][1001];
char c, a[1001][1001];
int main(){
	in>>m>>n;
	for(i=1;i<=m;i++)
		for(j=1;j<=m;j++)
			in>>a[i][j];
	for (i=1;i<=n;i++)
		for(j=1;j<=n;j++)
		{
			in>>c;
			v[c-96]++;
		}
	for(l=1;l<=26;l++)
	{
		for(i=1;i<=m;i++)
			for(j=1;j<=m;j++)
			{
				ok1=0;
				if(a[i][j]==96+l) ok1=1;
				t[i][j]=t[i][j-1]+t[i-1][j]-t[i-1][j-1]+ok1;
			}
		for (i=n;i<=m;i++)
			for(j=n;j<=m;j++)
				if(t[i][j]-t[i-n][j]-t[i][j-n]+t[i-n][j-n]!=v[l]) b[i][j]=true;
	}
	nr=0;
	for(i=n;i<=m;i++)
		for(j=n;j<=m;j++)
			if(b[i][j]==false) nr++;
	out<<nr;
	return 0;
}