{"code":"doibitvip","name":"[Python_Training] Đổi bit","description":"Cho hai xâu $S$ và $T$ đều có độ dài là $N$ và chỉ chứa hai ký tự là $0$ và $1$. Bạn có thể thực hiện trên xâu $S$ phép toán sau với số lượng bất kỳ:\r\n \r\n + Chọn chỉ số $i(2\\le i\\le N)$ sao cho $S[i]=1$ và thay thế $S[i]=0$ và sau đó gán $S[i-1]=1-S[i-1]$.\r\n\r\n**Chú ý:** Chỉ số của xâu đánh từ số $1$.\r\n\r\n**Hỏi:** Ta có thể biến xâu $S$ thành xâu $T$ hay không ? Nếu có thì in ra số lượng phép toán tối thiểu cần dùng. Ngược lại, in ra $-1$\r\n\r\n<h4>Input</h4>\r\n\r\n+ Dòng thứ nhất chứa số $t$ - Thể hiện số testcase\r\n\r\n+ $t$ block tiếp theo, mỗi block có dạng: \r\n\r\n    $N\\text{ }$\r\n    \r\n    $S\\text{ }$\r\n    \r\n    $T$.\r\n\r\n    Với $1\\le N\\le 5.10^5$.\r\n\r\n<h4>Output</h4>\r\n\r\n+ Ứng với mỗi testcase, in ra đáp án cần tìm\r\n\r\n<h4>Example</h4>\r\n\r\n!!! question \"Test 1\"\r\n\r\n    ???+ \"Input\"\r\n\r\n        ```sample\r\n        2\r\n        2\r\n        01\r\n        10\r\n        2\r\n        00\r\n        11\r\n        ```\r\n\r\n    ???+ success \"Output\"\r\n\r\n        ```sample\r\n        1\r\n        -1\r\n        ```","points":450.0,"partial":false,"time_limit":1.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[34,36,37,14,28,38,39,18,17,29,23,27,35,25,26,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}