Hello Programmers In this post, you will know how to solve the **Bear and Ladder Codechef Solution**.

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Codechef by yourself. If you find any difficulty after trying several times, then you can look for solutions.

### Problem

Bearland has infinitely many cities, numbered starting from 1. Some pairs of cities are connected with bidirectional roads:

- There are roads 1-2, 3-4, 5-6, 7-8, and so on (there is a road between cities 2*i+1 and 2*i+2 for every non-negative integer i).
- There are roads 1-3, 3-5, 5-7, 7-9, … (between every two consecutive odd numbers).
- There are roads 2-4, 4-6, 6-8, 8-10, … (between every two consecutive even numbers).

This is how the first few cities and roads between them look like:

You are given **Q** queries. In each query, for the given pair of different cities **a** and **b**, you should check if there is a road between them. For each query, print “YES” or “NO” accordingly.

### Input

The first line of the input contains an integer **Q**, denoting the number of queries.

Each of the following **Q** lines contains two distinct integers **a** and **b**, denoting two cities in one query.

### Output

For each query, output a single line containing the answer — “YES” if there is a road between the given cities **a** and **b**, and “NO” otherwise (without the quotes).

### Constraints

- 1 ≤
**Q**≤ 1000 - 1 ≤
**a**,**b**≤ 10^{9} **a**≠**b**

### Sample Input 1

7 1 4 4 3 5 4 10 12 1 3 999999999 1000000000 17 2384823

### Sample Output 1

NO YES NO YES YES YES NO

### Explanation

In the example test, the answer is “YES” for pairs (4, 3), (10, 12), (1, 3) and (999999999, 1000000000). Roads 3-4 and 1-3 you can see on the drawing in the statement.

The answer is “NO” for example for a pair (1, 4), because there is no road between cities 1 and 4.

### Bear and Ladder CodeChef Solution in JAVA

import java.util.*; import java.lang.*; import java.io.*; class Codechef { public static void main (String[] args) throws java.lang.Exception { // your code goes here Scanner sc=new Scanner(System.in); int t=sc.nextInt(); while(t-->0){ int a=sc.nextInt(); int b=sc.nextInt(); if(a%2!=0){ if(a-2==b || a+1==b ||a+2==b){ System.out.println("YES"); }else{ System.out.println("NO"); } } else if(a%2==0){ if(a-2==b || a-1==b || a+2==b){ System.out.println("YES"); }else{ System.out.println("NO"); } } } } }

### Bear and Ladder CodeChef Solution in CPP

#include<bits/stdc++.h> using namespace std; int main(){ int tc; cin>>tc; while(tc--){ int a,b; cin>>a>>b; if(a>b) swap(a,b); if(a+2==b){ cout<<"YES"<<endl; }else if(a+1==b && a%2==1){ cout<<"YES"<<endl; }else{ cout<<"NO"<<endl; } } return 0; }

### Breaking Bricks CodeChef Solution in Python

T = int(input()) for i in range(T): (a,b) = map(int,input().split()) if((a%2 == 0 and b%2 == 0) or (a%2 != 0 and b%2 != 0)): if(a == b+2 or b == a+2): print('YES') else: print('NO') else: if((a%2 == 0 and b == a-1) or (b%2 == 0 and a == b-1)): print('YES') else: print('NO')

** Disclaimer: **The above Problem

**(Bear and Ladder**

**)**is

**generated by**

**CodeChef**but the solution is provided by

**BrokenProgrammers**. This tutorial is only for Educational and Learning purposes.

**Note:-** I compile all programs, if there is any case program is not working and showing an error please let me know in the comment section. If you are using adblocker, please disable adblocker because some functions of the site may not work correctly.

**Next**: Breaking Bricks Codechef Solution