強密碼
描述
我們稱一個密碼是強密碼,當且僅當它滿足以下所有條件:由 8 ? 16 個字符組成
至少包含一個大寫字母 (A-Z)
至少包含一個小寫字母 (a-z)
至少包含一個數字 (0-9)
至少包含一個特殊符號 (! @ #?$ % & * _ +)
嬌嬌發現她現在的密碼好像不是強密碼,請你幫她計算一下最少添加幾個字符可以變成強密碼。
輸入
輸入僅一行,一個字符串,表示嬌嬌當前的密碼。
輸出
輸出一個數表示答案。
如果不需要添加任何字符就已經是強密碼,請輸出 0。
如果不存在任意一種方案使得密碼變成強密碼,請輸出 ?1。
輸入樣例 1whj518
輸出樣例 12
提示
樣例解釋
需要添加一個大寫字母、一個特殊字符,共兩個字符。添加后密碼長度為 8,正好符合長度要求。故答案為 2。
數據規模與約定
對于 50% 的數據,字符串已經滿足題目描述中的 4 個條件;
對于 100% 的數據,字符串的長度 ≤ 16,字符串中只會出現題目描述中包含的字符。
倒水
描述
Alice 正在家里看電視,突然她聽見有人在敲門,她覺得很不開心,竟然有人來打擾她看電視。開門后她更不開心了,門后竟然站著 K 個老師,這些老師都是來家訪的。Alice 的媽媽看到這么多老師后,趕緊吩咐 Alice 去給老師們倒水喝。Alice 家里只有一個熱水壺,這個熱水壺每次最多只能燒開 L毫升水。 Alice 家里有 N 個杯子,第 i 個杯子的容量為 ai毫升。Alice 需要從里面選出 K 個杯子給這些老師,然后把每一杯水都倒滿,再拿給老師。Alice 現在想知道,她最少得需要燒多少壺水,才能給這 K 名老師倒夠水。
考慮下面這個例子,N = 4,K = 4,L = 4, a1 = 2,a2 = 3,a3 = 1,a4 = 5。Alice 至少需要燒 3 次水。第一次燒水后,Alice 可以倒滿第一,和第三個杯子。還剩 1 毫升水可以倒到第二個杯子。第二次燒水,Alice 可以倒滿第二個杯子,還剩 2 毫升水可以倒到第四個杯子。最后一次燒開的水可以倒滿第四個杯子。
輸入
第一行輸入三個整數 N,K,L。接下來一行 N 個整數。第 i 個整數 ai代表第 i 個杯子的容量。
輸出
輸出一行一個整數代表 Alice 最少需要燒多少次水。
輸入樣例 14 4 4
2 3 1 5
輸出樣例 13
輸入樣例 24 3 4
2 3 1 5
輸出樣例 22
提示
題目包含 10 個測試點。
對于第 1,2,3 測試點,滿足 N ≤ 20。
對于第 4,5,6 測試點,滿足 N ≤ 1000。
對于所有測試點,滿足 1 ≤ K ≤ N ≤ 10^5,1 ≤ ai,L ≤ 10^9。
尋找方案
描述
Alice 在玩一個很好玩的數字游戲。這個游戲是這樣的,首先有一個給定的正整數 x,現在你可以
進行下面這三種操作,
· 給 x 加一。
· 給 x 減一。
· 若 x 為 3 的倍數,則可以給 x 除以 3。
現在 Alice 想讓你幫幫她,找到一個操作次數最少的方案,把一個數 x 通過這些操作變成 1。比如當 x = 10 時,一種可行的方案是