# HackerEarth Find the String problem solution

In this HackerEarth Find the String problem solution You are given a matrix of characters. The matrix has N rows and M columns. Given a string s, you have to tell if it is possible to generate that string from given matrix.
Rules for generating string from matrix are:

You have to pick first character of string from row 1, second character from row 2 and so on. The  character of string is to be picked from row 1, that is, you can traverse the (N + 1)th rows in a cyclic manner (row 1 comes after row N).
If an occurrence of a character is picked from a row, you cannot pick the same occurrence again from that row.
You have to print Yes if given string can be generated from matrix using the given rules, else print No.

## HackerEarth Find the String problem solution.

`#include<bits/stdc++.h>using namespace std;int main(){    int t;    cin>>t;    while(t--)    {        int n,m;        string s;        cin>>n>>m;        int f[1005][26]={0};        for(int i=0;i<n;i++)        {            for(int j=0;j<m;j++)            {                char temp;                cin>>temp;                f[i][temp-'a']++;            }        }        cin>>s;        bool check=1;        for(int i=0;i<s.size() && f;i++)        {            int lev=i%n;            if(f[lev][s[i]-'a'])f[lev][s[i]-'a']--;            else check=0;        }        if(check)cout<<"Yes\n";        else cout<<"No\n";    }    return 0;}`