**Question=**[1]: http://www.codechef.com/problems/CIELAB/

**My solution=**[1]:http://www.codechef.com/viewsolution/6605858

**Error type=wrong answer**

PLz fix the code for me

@coder_baba here is your corrected code… just change **if(r%10==0)** to **if(r%10!=9)** and you will get AC. You have to check for the **digit 9** because if the result has 9 in its units place and you increment the result then the final result will contains one extra digit than the required answer(Read in the problem statement - it says **digits should be same as in A and B**).

```
import java.io.*;
class ceil
{
public static void main(String args[])throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int X;
int Y;
String[] ar = br.readLine().split(" ");
X = Integer.parseInt(ar[0]);
Y = Integer.parseInt(ar[1]);
int r;
r = X - Y;
if ( r%10!=9 )
r++;
else r--;
System.out.println(r);
}
}
```

here is your accepted code.

replace your condition if(r%10==0) with if(r%10==0 || r==1) because when difference is 1 then your code will output 0.but the output should we greater than 1 according to constraints.so the corrected code is.`import java.io.*; class ceil { public static void main(String args[])throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int X;int Y; String[] ar = br.readLine().split(" "); X=Integer.parseInt(ar[0]); Y=Integer.parseInt(ar[1]); int r; r=X-Y; if(r%10==0||r==1) r++; else r--; System.out.println(r); } }`

using namespace std;

int main()

{

int a,b,c;

cout<<“Enter the value of a=”<<endl;

cin>>a;

cout<<“Enter the value of b=”<<endl;

cin>>b;

if(1<b<a<10000)

{

c=a-b;

if(c%10==0)

c+=1;

else

c-=1;

cout<<c;

}

else

cout<<“Wrong Input”;

```
return 0;
```

}

//CAN YOU TELL ME WHY MY CODE IS NOT ACCEPTED???

Check that if a % b == 9 print a-b+1…Else print a-b+1

import java.io.*;

class ceil

{

public static void main(String args[])throws IOException

{

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

int X;

int Y;

String[] ar = br.readLine().split(" ");

X = Integer.parseInt(ar[0]);

Y = Integer.parseInt(ar[1]);

int r;

r = X - Y;

if ( r%10!=9 )

r++;

else r–;

System.out.println®;

}

}

Where am I wrong?

I replaced the last bit by XOR

```
#include <bits/stdc++.h>
```

using namespace std;

int main() {

```
int a, b;
cin >> a >> b;
int res = a-b;
cout << res <<endl;
res ^= (1<<0);
cout << res <<endl;
return 0;
```

}

I have understood your logic,but still can’t figure out why my code is wrong can you provide me any such test case so that I can understand my mistake.Same number of digits is also maintained in my code.