[百度]小凛的冒险

题目描述
									

 

相传在遥远的古代,有一个很出名的作坊,专门从事给别人出程序设计的题目的出题作坊。在无人记载的消逝的500年中,这个作坊由于一些不可名状的原因而长期没有生意,没落了下来。

后来的故事嘛,努力可爱的少女小凛成为了作坊的第二百五十代继承人,并且决定振兴出题作坊。她对大家说,我们这不是没有生意吗,那我们就去冒险吧,去世界各地寻找需要题目的地方。小凛的一席话鼓舞了大家,大家都受够了无所事事的日子。于是她们将作坊卖了去买了一艘船,开始了属于她们的伟大冒险。

日子一天天过去,虽然风景很美,船上的生活却枯燥乏味。无聊的小凛开始数起了她看到的生物,小凛每看到一个生物就将其记录在纸上,她惊奇的发现有些生物的名字竟然相互颠倒了。小凛对这一现象感到惊奇,她决定仔细看一看她纸上的有多少对互相颠倒的名字。

 

 

输入

 

本题为单样例题目,第一行输入一个n(1<=n<=100000)。接下来的n行,每行一个不超过10个字符的字符串。

 

样例输入

 

3
fish
hsif
fish

 

输出

 

输出一行,为相互颠倒名字的对数。(提示,数字过大可能要用long long)

 

样例输出

 

2

 

时间限制C/C++语言:1000MS其它语言:3000MS

内存限制C/C++语言:65536KB其它语言:589824KB

 

 

#include <iostream>
#include <algorithm>
#include <string>
#include <map>

using namespace std;

const int MAXN = 100010;

string s[MAXN];

int main ()
{
    int n;
    cin >> n;
    map<string, int> M;
    long long ans = 0;
    for (int i = 0; i < n; ++ i) {
        cin >> s[i];
        ans += M[s[i]];
        reverse(s[i].begin(), s[i].end());
        M[s[i]] ++;
    }
    cout << ans << endl;

    return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值