1813. 方块游戏 | 您所在的位置:网站首页 › 字母方块游戏 › 1813. 方块游戏 |
1813. 方块游戏
农夫约翰试图通过给奶牛一套通常用于学龄前儿童的 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 代码: #include using namespace std; const int N = 110; int res[26] = {0}; int main() { int n; cin >> n; for (int i = 1; i > s1 >> s2; int x[26] = {0}, y[26] = {0}; for (auto c : s1) x[c - 'a']++; for (auto c : s2) y[c - 'a']++; for (int j = 0; j < 26; j++) res[j] += max(x[j], y[j]); } for (int i = 0; i < 26; i++) cout |
CopyRight 2018-2019 实验室设备网 版权所有 |