2021.5.15 1rating 补题报告

Posted 吕瓜皮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021.5.15 1rating 补题报告相关的知识,希望对你有一定的参考价值。

C - Pocket Book

1.思路

  给定n个长度为m的字符串,任意两个字符串可以交换前k个字符,交换后字符串变成新的字符串,最多能产生多少个不同的字符串。找规律可以发现,每个字符串的每一列都可以变成所有字符串的该列的字符,所以统计每一列有多少个不同的字符,排列组合相乘即可。

2.代码

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define ll long long
 4 const int mod = 1e9 + 7;
 5 int n, m;
 6 ll ans = 1;
 7 set<char> st[105];
 8 string s[105];
 9 int main() {
10     cin >> n >> m;
11     getchar();
12     for(int i = 0; i < n; i++) {
13         cin >> s[i];
14     }
15     for(int i = 0; i < n; i++) {
16         for(int j = 0;j < m; j++) {
17             st[j].insert(s[i][j]);
18         }
19     }      
20     for(int i = 0; i < m; i++) {
21        ans = (ans * st[i].size()) % mod;
22     }
23     cout << ans << endl;
24     
25     return 0;
26 }
View Code

 

以上是关于2021.5.15 1rating 补题报告的主要内容,如果未能解决你的问题,请参考以下文章

2020.04..12 组队赛 补题报告

2020.10.2 19级training 补题报告

2020.5.10 个人rating赛 解题+补题报告

2020.5.10 个人rating赛 解题+补题报告

2020.4.19 个人rating赛 解题+补题报告

2020.4.12 个人rating赛 解题+补题报告