eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Уравниватель битов

Уравниватель битов

Даны две непустые строки \textbf{S }и \textbf{T }одинаковой длинны. \textbf{S }содержит символы '\textbf{0}', '\textbf{1}' и '\textbf{?}', в то время как \textbf{T }содержит только '\textbf{0}' и '\textbf{1}'. Вам следует преобразовать \textbf{S }в \textbf{T }за минимальное количество ходов. За каждый ход можно: \begin{enumerate} \item изменить '\textbf{0}' в \textbf{S }на '\textbf{1}' \item изменить '\textbf{?}' в \textbf{S }на '\textbf{0}' или '\textbf{1}' \item поменять местами любые два символа в \textbf{S} \end{enumerate} Например, пусть \textbf{S }= "\textbf{01??00}" и \textbf{T }= "\textbf{001010}". Можно преобразовать \textbf{S }в \textbf{T }за \textbf{3 }хода: \begin{itemize} \item Изначально \textbf{S} = "\textbf{01??00}" \item Ход \textbf{1} -- изменить \textbf{S\[2\]} на '\textbf{1}'. \textbf{S} станет "\textbf{011?00}" \item Ход \textbf{2} -- изменить \textbf{S\[3\]} на '\textbf{0}'. \textbf{S} станет "\textbf{011000}" \item Ход \textbf{3} -- поменять \textbf{S\[1\]} с \textbf{S\[4\]}. \textbf{S} станет "\textbf{001010}" \item \textbf{S} теперь равно \textbf{T} \end{itemize} \InputFile Первая строка содержит количество тестов \textbf{t }(\textbf{t }≤ \textbf{200}). Каждый тест состоит из двух строк. Первой является строка \textbf{S}, состоящая из '\textbf{0}', '\textbf{1}' и '\textbf{?}'. Второй является строка \textbf{T}, состоящая из '\textbf{0}' и '\textbf{1}'. Длины строк не превосходят \textbf{100}. \OutputFile Для каждого теста вывести его номер и наименьшее количество ходов, необходимых для преобразования \textbf{S} в \textbf{T}. Если преобразование невозможно, вывести \textbf{-1}.
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
3
01??00
001010
01
10
110001
000000
Вихідні дані #1
Case 1: 3
Case 2: 1
Case 3: -1
Джерело 2012 ACM Southwestern European Regional Programming Contest (SWERC), Problem B