码迷,mamicode.com
首页 > 编程语言 > 详细

hdu 2651 Spring festival couplets

时间:2015-08-31 01:11:30      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

Spring festival couplets

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 194    Accepted Submission(s): 82


Problem Description
When the spring festival is coming , people always paste spring festival couplets onto the wall.Now dandelion‘s father has bought several spring festival couplets, he wants to know how many pairs of spring festival couplets can been consisted with these spring festival couplets.As we know ,spring festival couplets are carefully balanced.Such as AABBCCDD can only be matched with AABBCCDD or BBDDEEFF or AABBAABB ...
 

Input
A number n stands for the number of the spring festival couplets.(2≤n≤110000)
Then n lines ,each line contains a string made by capital letters. Such as AABBCCDD,AABBCCD.The length of the string will not exceed 8.
 

Output
For every case ,print the number of pairs can be made by these spring festival couplets.
 

Sample Input
6 ABCCCDA LLLMNNO DEZZZBF AAABCCD KKKXPPQ AAA
 

Sample Output
4
 

题意比较明确对对联,能配对的就配对问可以配多少对,直接用map映射来做,每次看看之前和当前串一样模式的出现了几次,相加就可以了,输入完就统计完了,不会重复。
然而下午比赛的时候,心情不知道为何会那么烦躁,水题都写不好,还是泡脚回家洗洗睡吧。

#include <iostream>
#include <stdio.h>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <map>
#include <set>
#
using namespace std;

char s[10];

int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        map<int,int>ss;
        int ans=0;
        for(int i=0;i<n;i++)
        {
            scanf("%s",s);
            int len=strlen(s);
            int p=0;
            int cnt=1;
            for(int j=0;j<len;j++)
            {
                if(j==0) p=1;
                if(s[j-1]==s[j]) p=p*10+cnt;
                else p=p*10+(++cnt);
            }
            if(len<8)
            {
                for(int j=len;j<8;j++)
                {
                     p=p*10+9;
                }
            }

            ans+=ss[p];
            ss[p]++;
        }

        printf("%d\n",ans);
    }

    return 0;
}











版权声明:本文为博主原创文章,未经博主允许不得转载。

hdu 2651 Spring festival couplets

标签:

原文地址:http://blog.csdn.net/wust_zjx/article/details/48117293

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!