钞哥正在去自家城堡的路上。 但在进入城堡之前,保安人员问他一个问题,只有答对了才能进去,嘤嘤嘤钞哥的地位竟然还不如一个保安人员……现在给出两个长度为n的二进制数a和b。 问交换两个二进制位的方式有多少种(仅在a中,而不是b中),以便这两个数字的按位或将被改变。
换句话说,设c是a和b的按位或,你需要找到在a中交换两位的方式的数量,以便按位或不等于c。
请注意,二进制数可以包含前导零,以便每个数字的长度恰好为n。按位或是二进制操作。例如,(01010) 2 或(10011)2 =(11011)2。如样例一,你可以交换(1,4), (2,3), (3,4), 和(3,5)
好吧,令你惊讶的是,你不是钞哥,你不需要帮助他......你是保安人员!请找到在a中交换两位的方式的数量,以便改变按位或。
第一行包含一个整数n(2≤n≤10^5) - 每个二进制数中的位数。
第二行包含长度为n的二进制数a。
第三行包含长度为n的二进制数b。
打印在a中交换两位的方式的数量,以便按位或进行更改。
5 01011 11001
4