日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1813 方块游戏(枚举)

發布時間:2024/1/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1813 方块游戏(枚举) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 問題描述:

農夫約翰試圖通過給奶牛一套通常用于學齡前兒童的 N 個拼寫板來教他的奶牛閱讀。每個拼寫板的每一側都有一個單詞和一個圖畫。例如,一側可能有單詞 cat 和一只小貓,另一側可能有單詞 dog 和一只小狗。因此,當所有拼寫板放置到地面上時,會顯示一組 N 個單詞。通過翻轉其中一部分板子,就可以得到另一組 N 個單詞。為了幫助奶牛練習單詞拼寫,約翰想要制作一些木塊,在每個木塊上都印上一個字母,使得奶牛可以使用這些木塊拼出看到的單詞。為了使得無論哪一組 N 個單詞朝上顯示,奶牛都能將其全部拼出,就需要印有各種字母的木塊都足夠的多。例如,如果 N=3 且單詞 box,cat,car 朝上顯示,則奶牛至少需要一個 b 塊,一個 o 塊,一個 x 塊,兩個 c 塊,兩個 a 塊,一個 t 塊和一個 r 塊。請幫助約翰確定,印有每種字母的木塊至少需要提供多少塊,才能使得不管每個板子的哪一側朝上顯示,奶牛都可以拼出所有 N 個可見的單詞。

輸入格式

第一行包含整數 N。接下來 N 行,每行包含兩個單詞,這兩個單詞分別位于一塊木板的兩側,每個單詞都是長度不超過 10 的小寫字母構成的字符串。

輸出格式

共 26 行。第一行輸出印有字母 a 的木塊所需的塊數。第二行輸出印有字母 b 的木塊所需的塊數,以此類推。

數據范圍

1 ≤ N ≤ 100

輸入樣例:

3
fox box
dog cat
car bus

輸出樣例:

2
2
2
1
0
1
1
0
0
0
0
0
0
0
2
0
0
1
1
1
1
0
0
1
0
0
樣例解釋
在此樣例中,共有 N=3 塊拼寫板,共有 8 種單詞組合:

fox dog car
fox dog bus
fox cat car
fox cat bus
box dog car
box dog bus
box cat car
box cat bus
來源:https://www.acwing.com/problem/content/description/1815/

2. 思路分析:

分析題目可以知道對于每一組拼接板內部與拼寫板之間都是獨立的所以我們可以求解出每一組中對應字母出現次數的最大值然后將其累加起來即可。這樣不管哪一組都可以完成拼寫板的單詞。

3. 代碼如下:

import collectionsclass Solution:def process(self):n = int(input())res = [0] * 26for i in range(n):s = input().split()x, y = [0] * 26, [0] * 26for c in s[0]:# ord函數計算出當前字符c的acsii碼x[ord(c) - ord("a")] += 1for c in s[1]:y[ord(c) - ord("a")] += 1for j in range(26):res[j] += max(x[j], y[j])for i in range(26):print(res[i])if __name__ == '__main__':Solution().process()

總結

以上是生活随笔為你收集整理的1813 方块游戏(枚举)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。