Cod sursa(job #482819)

Utilizator soare_cristian16Cristy93 soare_cristian16 Data 5 septembrie 2010 15:45:20
Problema Matrix Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int v[28],s[1001][1001],sol,n,m;
char a[1001][1001],lit;
bool ok[1001][1001];
int main()
{
	int i,j,k;
	f>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			f>>a[i][j];
	for(i=1;i<=m;i++)
	{
		for(j=1;j<=m;j++)
		{
			f>>lit;
			v[lit-'a'+1]++;
		}
	}
	for(k=1;k<=26;k++)
	{
		for(i=1;i<=n;i++)
		{
			for(j=1;j<=n;j++)
			{
				s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1];
				if(k==a[i][j]-'a'+1)
					s[i][j]+=1;
				if(i>=m&&j>=m)
					if(s[i][j]-s[i-m][j]-s[i][j-m]+s[i-m][j-m]==v[k])
						ok[i][j]=true;
			}
		}
	}
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			if(ok[i][j])
				sol++;
	g<<sol;
	return 0;
}