zoj 2975 Kinds of Fuwas

来源:互联网 发布:js实现幻灯片效果 编辑:程序博客网 时间:2024/05/18 01:13

题目连接:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2975
不知道怎么回事,这种题总是不会。
枚举行数,判断有无两行有无相同字母。

#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int N=255;char map[N][N];int n,m,cas;char str[]="BJHYN";int ans[5];int sum=0;void solve(){    for(int i=0;i<n-1;i++)    {        for(int j=i+1;j<n;j++)        {            memset(ans,0,sizeof(ans));            for(int k=0;k<m;k++)            {                if(map[i][k]==map[j][k])                {                    for(int k1=0;k1<5;k1++)                    {                        if(map[i][k]==str[k1])                        {                            ans[k1]++;                        }                    }                }            }            for(int k=0;k<5;k++)            {                if(ans[k]>=2) sum+=(ans[k]-1)*ans[k]/2;            }        }    }}int main(){    cin>>cas;    while(cas--)    {        sum=0;        cin>>n>>m;        getchar();        for(int i=0;i<n;i++)        {            for(int j=0;j<m;j++)            {                scanf("%c",&map[i][j]);            }            getchar();        }        solve();        cout<<sum<<endl;    }    return 0;}
0 0
原创粉丝点击