m815. 12545 Bits Equalizer
標籤 :
通過比率 : 3人/3人 ( 100% ) [非即時]
評分方式:
Strictly

最近更新 : 2023-12-26 11:16

內容

你被給予兩個長度相等的非空字符串 S 和 T。 字符串 S 包含字符 '0'、'1' 和 '?',而 T 只包含 '0' 和 '1'。 你的任務是以最少的移動次數將 S 轉換成 T。在每個移動中,你可以:

  1. 將 S 中的 '0' 變為 '1'
  2. 將 S 中的 '?' 變為 '0' 或 '1'
  3. 交換 S 中的任意兩個字符

舉例來說,假設 S = "01??00",T = "001010"。我們可以在 3 次移動中將 S 轉換為 T:

  • 起初 S = "01??00"
  • 移動 1:將 S[2] 改為 '1'。S 變為 "011?00"
  • 移動 2:將 S[3] 改為 '0'。S 變為 "011000"
  • 移動 3:交換 S[1] 和 S[4]。S 變為 "001010"

現在 S 等於 T。

輸入說明

輸入的第一行是一個整數 C(C ≤ 200),表示測試案例的數量。每個案例由兩行組成。第一行是由 '0'、'1' 和 '?' 構成的字符串 S。第二行是由 '0' 和 '1' 構成的字符串 T。字符串的長度不會超過 100。

輸出說明

對於每個案例,輸出首先是案例編號,後面是將 S 轉換成 T 所需的最小移動次數。如果轉換是不可能的,則輸出 '-1'。

範例輸入 #1
3
01??00
001010
01
10
110001
000000
範例輸出 #1
Case 1: 3
Case 2: 1
Case 3: -1
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1M
提示 :
標籤:
出處:
UVA [管理者: yatsen (愛情少校) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」