codeforces 152C 字符串的运用

来源:互联网 发布:安卓app源码如何修改 编辑:程序博客网 时间:2024/06/06 20:31
//M/* 题意:给定n个字符串 和字符串的长度为m 问你可以去交换任意俩个字符串的任意长度的相对位置的字母  问他可以重组的字符串有多少(就是不同的字符串)*/#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<sstream>#include<cmath>#include<queue>#include<stack>#include<map>#include<set>#include<vector>using namespace std;typedef long long ll;#define inf 0x3f3f3f3f#define eps 1e-10#define maxl 105#define mem(i,j) memset(i,j,sizeof(i))string s[maxl];int main(){    freopen("in.txt", "r", stdin);    int n,m;    cin>>n>>m;    for(int i=0;i<n;i++)        cin>>s[i];    ll ans=1;    for(int i=0;i<m;i++){        int temp=1;        for(int j=1;j<n;j++){            if(s[j][i]!=s[0][i]) {//不等的话 才需要记录                int k;                for(k=1;k<j;k++) if(s[k][i]==s[j][i]) break;//这里相等的话就表示前面已经记过了                if(k==j) temp++;            }        }        ans*=temp;//这里是需要用乘号来累乘结果的        ans%=1000000007;    }    cout<<ans<<endl;}

0 0
原创粉丝点击