When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

manalibiswas's blog

By manalibiswas, history, 4 years ago, In English

include<bits/stdc++.h>

using namespace std;

void find(char m,int&p,int&q) { if(m=='W') ++p; else ++q; } int main() { int n,k,i,p,q; char x; vector a; cin>>n>>k;

for(int i=0;i<n;i++)
{
    cin>>x;
    a.push_back(x);
}
a.push_back('\0');

for(int l=0,i=0;l<k&&i<n;l++)
{
    vector<char>b;
    for(int j=0;j<n;j++)
    {p=q=0;
        if(j==0)
        {
            find(a[n-1],p,q);
            find(a[0],p,q);
            find(a[1],p,q);
        }
        else if(j==(n-1))
        {
            find(a[0],p,q);
            find(a[n-1],p,q);
            find(a[n-2],p,q);
        }
        else
        {
            find(a[j-1],p,q);
            find(a[j+1],p,q);
            find(a[j],p,q);
        }
        b.push_back(p>q?'W':'B');
        if(a[j]==b[j]) i++;
    }
    b.push_back('\0');
    a=b;
}
for(int j=0;j<n;j++)
    cout<<a[j];
cout<<'\0';
return 0;

}

This is my submission for the problem.. Even the wrong test case on first test case shows right answer but still showing wrong answer? And showing right answer for the example cases on other interfaces but not here

  • Vote: I like it
  • 0
  • Vote: I do not like it

»
4 years ago, # |
  Vote: I like it +1 Vote: I do not like it

Hi fixed your code for you.

Just removed cout<<'\0'; at the end of your code.

Also, your algorithm is too slow as it is worst case O(N^2).