Cod sursa(job #1309483)

Utilizator daniel.grosuDaniel Grosu daniel.grosu Data 5 ianuarie 2015 19:42:33
Problema Matrix Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <fstream>
#include <algorithm>
#include <vector>

#define pb push_back

using namespace std;

char v[1002][1002];
vector <char> q,q1;
int n,m,k,de;

ifstream fin ("matrix.in");
ofstream fout ("matrix.out");

int debug(int i, int j, unsigned r){
    fout<<"debug - with "<<i<<", "<<j<<", "<<r<<": ";
    for(int r=0; r<=int(q.size()); r++)
        fout<<q[r]<<" ";
    fout<<"\n";
    de++;
    return 1;
}

int main(){
    fin>>m>>n;
    for(int i=1; i<=m; i++)
        for(int j=1; j<=m; j++)
            fin>>v[i][j];
    
    for(int i=1; i<=n*n; i++){
        char c;
        fin>>c;
        q.pb(c);
    }
    q1=q;
    for(int i=1; i<=m-n+1; i++)
        for(int j=1; j<=m-n+1; j++){
            q=q1;
            for(int u=i; u<=i+n-1; u++)
                for(int s=j; s<=j+n-1; s++)
                    for(unsigned r=0; r<=q.size(); r++)
                        if(v[u][s] == q[r]){
                            q.erase(q.begin() + r);
                        }
            if(int(q.size())==0)
                k++;
        }
    fout<<k;
    return 0;
}