Ways to remove one element from a binary string so that XOR becomes zero | C ++ program to count number of ways to remove an element so that XOR of remaining string becomes 0. ; Return number of ways in which XOR become ZERO by remove 1 element ; Counting number of 0 and 1 ; If count of ones is even then return count of zero else count of one ; Driver Code
#include <bits/stdc++.h> NEW_LINE using namespace std ; int xorZero ( string str ) { int one_count = 0 , zero_count = 0 ; int n = str . length ( ) ; for ( int i = 0 ; i < n ; i ++ ) if ( str [ i ] == '1' ) one_count ++ ; else zero_count ++ ; if ( one_count % 2 == 0 ) return zero_count ; return one_count ; } int main ( ) { string str = "11111" ; cout << xorZero ( str ) << endl ; return 0 ; }