# HackerEarth Fixed parities problem solution

In this HackerEarth Fixed parities, problem-solution Alice and Bob are playing a board game. They have n x n boards and two arrays a and b of length n. The value of each cell in the ith row and jth row is a[i] + b[j]. Alice asks q questions, Bob. In each question, Alice provides two cells A and B. She asks the following questions to Bob:

Are there any paths from A to B that contain the same parity as A and B?

## HackerEarth Fixed parities problem solution.

`#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 12;int r[maxn], c[maxn];int d[2][maxn];int main(){    int n, q, r1, c1, r2, c2;    cin >> n;    for(int i = 0; i < n; i++)        cin >> r[i];    for(int i = 0; i < n; i++)        cin >> c[i];    cin >> q;    for(int i = 1; i < n; i++){        d[0][i] = d[0][i - 1];        d[1][i] = d[1][i - 1];        if(abs(r[i] - r[i - 1]) % 2 == 1)            d[0][i]++;        if(abs(c[i] - c[i - 1]) % 2 == 1)            d[1][i]++;    }    while(q--){        cin >> r1 >> c1 >> r2 >> c2;        r1--, c1--, r2--, c2--;        if(abs((r[r1] + c[c1]) - (r[r2] + c[c2])) % 2 == 1){            cout << "NO\n";            continue;        }        if(abs((d[0][r1] - d[0][r2]) - (d[1][c1] - d[1][c2])) % 2 == 0)            cout << "YES\n";        else            cout << "NO\n";    }}`