Cod sursa(job #273968)

Utilizator f.v.antonFlavius Anton f.v.anton Data 9 martie 2009 11:53:34
Problema Matrix Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream.h>
#include <fstream.h>
#include <string.h>
char x[502][502],nr1[255],nr2[255];
int egal(char x[], char y[])
{
	for(int i=0;i<255;i++)
	 if(x[i]!=y[i])
	  return 0;
	return 1;
}
int main()
{
	char y[502][502],sir[1002];
	int n,m,i,j,l,c,count=0;
	fstream f("matrix.in",ios::in), g("matrix.out",ios::out);
	f>>m>>n;
	f.get();
	for(i=1;i<=m;i++)
	{  f.getline(sir,1000);
	  for(j=0;j<strlen(sir);j++)
	   x[i][j+1]=sir[j];
	}
	for(i=1;i<=n;i++)
       {  f.getline(sir,1000);
	  for(j=0;j<strlen(sir);j++)
	    y[i][j+1]=sir[j];
       }
       for(i=1;i<=n;i++)
	for(j=1;j<=n;j++)
	 nr2[y[i][j]]++;

       for(l=1;l<=m-n+1;l++)
	 for(c=1;c<=m-n+1;c++)
	 {  for(i=l;i<=l+n-1;i++)
	     for(j=c;j<=c+n-1;j++)
	      {
		  nr1[x[i][j]]++;
		  if(egal(nr1,nr2))
		   count++;
	      }
	   for(i=0;i<255;i++)
	    nr1[i]=0;
	 }
	g<<count;
	f.close();
	g.close();
	return 0;
}