CodeChef: Practical coding for everyone Can you please tell me how can I improve my code so that I don’t get a TLE in subtask2
Is this a case that printing a string takes more time than printing individual character?
Cause TLE on former approach but AC on latter.
THIS IS MY CODE… IT RUNS PERFECTLY IN CODEBLOCKS AND OTHER PLATFORMS BUT CODECHEF COMPLAINS OF A RUNTIME ERROR. WHY???
#include
using namespace std;
int main() {
int i,k;
cin>>k;
while(k!=0)
{ char a[20],b[20];
cin>>a>>b;
for(i=0;a[i]!='\0';i++)
{ if(a[i]==b[i] && a[i]=='W')
{cout<<"B";}
else
{cout<<"W";}
}
cout<<endl;
k--;
}
return 0;
}
#include
#include<string.h>>
using namespace std;
int main()
{
int t;
cin>>t;
while(t–)
{
char x[100005],y[100005];
char str[100005];
cin>>x>>y;
for(int i=0;i<strlen(x);i++)
{
if(x[i]==y[i])
{
if(x[i]=='W')
str[i]='B';
else
str[i]='W';
}
else
str[i]='B';
}
cout<<str<<endl;;
}
return 0;
}
why is this ans wrong?
What’s wrong with this code?
Why it shows wrong answer on submission?
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t–)
{
int i;
char x[1000000],y[1000000];
scanf("%s",&x);
scanf("%s",&y);
for(i=0;x[i]!=’\0’&&y[i]!=’\0’;i++)
{
if(x[i]==‘B’&&y[i]==‘B’)
printf(“W”);
else printf(“B”);
}
}
return 0;
}
What’s wrong with the code?
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t–)
{
int i;
char x[1000000],y[1000000];
scanf("%s",&x);
scanf("%s",&y);
for(i=0;x[i]!=’\0’&&y[i]!=’\0’;i++)
{
if(x[i]==‘B’&&y[i]==‘B’)
printf(“W”);
else printf(“B”);
}
}
return 0;
}
Make sure you print the output of each test case in a new line. What you’re lacking, is a printf ("\n") character at the end of your loop (to make the result of next test case in new line).
Eg-
If the answer for some X and Y for T=2 is-
BBWB
WWBB
Then your code is printing BBWBWWBB
Rectify that and I think you will go fine! 
Here I think that the output of the give testcase can be different also.
as mention in the testcase
Input:
1
WBWB
WBBB
Output:
BWBW
as mentioned here that the maximum hamming distance is 7 but is we are taking a string ‘BWWW’ it also have the hamming distance is 7 so why it can not be the correct output??
New here please help.
Your approach is correct. You can directly print each character without adding it with K.
I am not an expert in java. But I can say that you have created Z[] correctly. The answer is Z[] itself. I have no idea what you have done after the forloop to create Z[] as I am not familiar with the syntax of java.
I converted the array to a string and printed it.
Is it really required? I mean, I don’t know. I think we can simply print each character. The result will be same if we print a complete string or individual characters one by one without any space.
Yes, that’s true, however it still does not explain why the result is WA. Even if i print the whole string the answer should be correct.
link of the codes?
Ok, I got it :P. You have to print the output for each test case in a new line. Or just give a space after each output. Bad luck bro…
I just tried with your code in the practice section by adding a space…
Using strlen() repeatedly wastes sometime…
In Java concatenating String takes more time as each time it creates a new instance of String. You can use StringBuilder in Java for concatenation the string or print each character.
There is a gap of 0.00s and 1.01s