Pagini recente » Istoria paginii runda/un_concurs_ce_concurs/clasament | Istoria paginii runda/emag_2016-incepatori-2/clasament | Cod sursa (job #2753345) | Istoria paginii runda/tema_laborator/clasament | Cod sursa (job #2363150)
#include <fstream>
using namespace std;
ifstream f("matrix.in");
ofstream g("matrix.out");
int n,m,i,j,c,a[1001][1001][27],fr[27],sol;
char ch;
bool ok;
int main(){
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
f>>ch;
for(c=1;c<='z'-'a'+1;c++)
a[i][j][c]=a[i][j][c]+a[i-1][j][c]+a[i][j-1][c]-a[i-1][j-1][c];
a[i][j][ch-'a'+1]++;
}
for(i=1;i<=m;i++)
for(j=1;j<=m;j++){
f>>ch;
fr[ch-'a'+1]++;
}
for(i=m;i<=n;i++)
for(j=m;j<=n;j++){
ok=1;
for(c=1;c<='z'-'a'+1;c++){
if(a[i][j][c]-a[i-m][j][c]-a[i][j-m][c]+a[i-m][j-m][c]!=fr[c]){
ok=0;
break;
}
}
sol+=ok;
}
g<<sol;
}