Directi Interview Question
InternsCountry: India
#include<bits/stdc++.h>
#include<set>
#include<string.h>
#include<vector>
#include<hash_map>
#define ll long long int
#define sd1(a) scanf("%d",&a)
#define sd2(a,b) scanf("%d %d",&a,&b)
#define sd3(a,b,c) scanf("%d %d %d",&a,&b,&c)
#define slld1(a) scanf("%lld",&a)
#define slld2(a,b) scanf("%lld %lld",&a,&b)
#define loop(i,a,b) for(int i=a;i<b;i++)
#define loope(i,a,b) for(int i=a;i<=b;i++)
#define loopd(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
int main()
{
int i,j,k,n,m;
string key,val;
sd2(n,m);
vector< set< pair<string, string> > > ma;
set< pair<string, string> >::iterator it;
for(i=0;i<n;i++)
{
sd1(k);
set< pair<string,string> > a;
while(k--)
{
cin>>key>>val;
pair<string, string> temp;
temp.first = key;
temp.second = val;
a.insert(temp);
}
ma.push_back(a);
}
for(i=0;i<m;i++)
{
sd1(k);
vector< pair<string,string> > q;
pair<string,string> temp;
for(i=0;i<k;i++)
{
cin>>key>>val;
temp.first = key;
temp.second = val;
q.push_back(temp);
}
bool b=false;
int c=0;
for(i=0;i<n;i++)
{
b=false;
for(j=0;j<k;j++)
{
it = ma[i].find(q[j]);
if(it != ma[i].end())
b=true;
else
{
b=false;
break;
}
}
if(b)
c++;
}
printf("%d\n",c);
}
}
}
- shah.naiya8291 November 24, 2014