博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
组合数学题 Codeforces Round #108 (Div. 2) C. Pocket Book
阅读量:6332 次
发布时间:2019-06-22

本文共 1131 字,大约阅读时间需要 3 分钟。

 

1 /* 2     题意:每一次任选i,j行字符串进行任意长度前缀交换,然后不断重复这个过程,问在过程中,第一行字符串不同的个数 3     组合数学题:每一列不同的字母都有可能到第一行,所以每列的可能值相乘取模就行了。这题主要坑在题意理解上。。。 4 */ 5 #include 
6 #include
7 #include
8 #include
9 #include
10 using namespace std;11 12 typedef long long ll;13 const int MAXN = 1e2 + 10;14 const int INF = 0x3f3f3f3f;15 const int MOD = 1e9 + 7;16 char s[MAXN][MAXN];17 int a[MAXN];18 map
cnt[MAXN];19 20 int main(void) //Codeforces Round #108 (Div. 2) C. Pocket Book21 {22 // freopen ("D.in", "r", stdin);23 24 int n, m;25 while (scanf ("%d%d", &n, &m) == 2)26 {27 memset (a, 0, sizeof (a));28 for (int i=1; i<=m; ++i) cnt[i].clear ();29 scanf ("%s", s[1] + 1);30 for (int i=2; i<=n; ++i)31 {32 scanf ("%s", s[i] + 1);33 }34 35 for (int j=1; j<=m; ++j)36 {37 for (int i=1; i<=n; ++i)38 {39 if (cnt[j][s[i][j]] == 0)40 {41 cnt[j][s[i][j]] = 1; a[j]++;42 }43 }44 }45 46 ll ans = 1;47 for (int i=1; i<=m; ++i)48 {49 ans = (ans * a[i]) % MOD;50 }51 printf ("%I64d\n", ans);52 }53 54 return 0;55 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4656720.html

你可能感兴趣的文章
华为eNSP浮动路由实现不同vlan之间的通信
查看>>
HanLP Analysis for Elasticsearch
查看>>
Ubuntu系统终端环境支持中文的方法
查看>>
docker构建私有仓库
查看>>
2018/12/31抓取装置投运前两天的电流数据来判断通讯情况
查看>>
Android获得手机UserAgent的源码
查看>>
职场人必备:工作述职报告PPT模板
查看>>
华为认证让你的实习工资比别人高出一截
查看>>
hcl安装出现的问题
查看>>
Netty源码之ChannelPipeline和ChannelHandlerContext
查看>>
【读书分享】流血的仕途
查看>>
Enable DB Query in HUE web UI
查看>>
windows服务器网络群集
查看>>
TCP连接状态详解
查看>>
phpmyadmin网页版数据库的管理
查看>>
自定义组件进阶之一
查看>>
学生时代的结束,工作的开始
查看>>
Linux下处理由window上传zip解压后文件(夹)名的乱码问题
查看>>
java笔记:第8章 异常
查看>>
python制作galgame引擎(六)
查看>>