I am not able to understand what is the problem?

#include
using namespace std;

int main()
{
int t;
cin>>t;

while(t--)
{
    int n,n0s = 0,n1s=0,n0a=0,n1a=0;
    cin>>n;
    string s,a;
    cin>>s>>a;
    
    
    for(int i= 0;i<s.length();i++)
    {
        if(s[i]==0)
        {
            n0s++;
        }
        else if(s[i] == 1)
        {
            n1s++;
        }
    }
    
    for(int i= 0;i<s.length();i++)
    {
        if(a[i]==0)
        {
            n0a++;
        }
        else if(a[i] == 1)
        {
            n1a = n1a + 1;
        }
    }
   
   if(n0s == n0a && n1s == n1a)
    {
        cout<<"YES"<<endl;
    }
    else if(n0s != n0a && n1s != n1a)
    {
        cout<<"NO"<<endl;
    }
    
}


return 0;

}

Firstly u have forgotten to import iostream libariry
Secondly 0’s and 1’s should be written like ‘0’ and ‘1’ as they are string.
Your code should look like this:

#include<iostream>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
    int n,n0s = 0,n1s=0,n0a=0,n1a=0;
    cin>>n;
    string s,a;
    cin>>s>>a;
    for(int i= 0;i<s.length();i++)
    {
        if(s[i]=='0')
        {
            n0s++;
        }
        else if(s[i] == '1')
        {
            n1s++;
        }
    }
   for(int i= 0;i<s.length();i++)
    {
        if(a[i]=='0')
        {
            n0a++;
        }
        else if(a[i] == '1')
        {
            n1a = n1a + 1;
        }
    }
   
   if(n0s == n0a && n1s == n1a)
    {
        cout<<"YES"<<endl;
    }
    else if(n0s != n0a && n1s != n1a)
    {
        cout<<"NO"<<endl;
    }
    
}
return 0;
}
1 Like