非常にタイトルのことを考え、B、Cの1番号1の数の差が偶数で、異なるの偶数がなければなりません
逆に、異なる奇数が存在しなければなりません
#include <iostreamの> する#include <cstdlib> の#include <cstdioを> する#include <CStringの> する#include <CCTYPE> の#include <アルゴリズム> の#include <cmath> 使用して名前空間STD。 typedefの長い長いLL。 const int型 MAXN = 1000005 ; INTのN、M。 チャー[MAXNを]、B [MAXN]。 int型SA [MAXN]、[MAXN] SB。INT メイン() { #ifndefのONLINE_JUDGE // freopenは( "code.in"、 "R"、STDIN)。 // freopenは( "コード。 #endifの scanf関数(" %sの%sの"、+ 1、B + 1 )。 N = STRLEN(A + 1)M =のSTRLEN(B + 1 )。 以下のために(int型 i = 1 ; iがn = <; I ++)SA [I] =([I] - ' 0 ')^ SA [I- 1 ]。 以下のために(int型 I = 1 ; I <= M; iは++)SB [I] =(B [I] - ' 0 ')^ SB [I- 1 ]。 int型 ANS = 0 ; 用(int型、iが<= N; iが++ iがmを= ) もし(!(SB [M] ^ SA [i]は^ SA [IM]))++ ANS; coutの << ANS << てendl; リターン 0 ; }