字符串拼接:Cities and States S

题目:P3405 [USACO16DEC] Cities and States S - 洛谷

可以理解为字符串拼接。

问题1:城市名前两个字母如何提取? substr提取前两个字母。

问题2:如何判断这两个城市符合条件?对于两个城市,它们的前两个字母互为对方所在州的名称。也就是说,对于他们来讲,A城市名+A洲名 = B洲名+B城市名。相当于a+b = b+a。

问题3:如何记录符合条件的城市数量?由于a+b = b+a,所以,记下a+b时,把a+b入队。加上b+a的数量。

cpp 复制代码
#include <iostream>
#include <unordered_map>

using namespace std;

unordered_map<string, int> mp;

int main()
{
	int n; cin >> n;
	int ret = 0;
	for (int i = 1; i <= n; i++)
	{
		string a, b; cin >> a >> b;
		a = a.substr(0, 2);
		if (a == b) continue;

		
		ret += mp[b+a];
		mp[a+b]++;
	}
	cout << ret << endl; 
	
	return 0;
} 
相关推荐
大哥手下留情2 小时前
Python火车票查询方法介绍
开发语言·python
AI街潜水的八角2 小时前
医学图像算法之基于MK_UNet的肾小球分割系统3:含训练测试代码、数据集和GUI交互界面
算法
larance2 小时前
方差和标准差
人工智能·算法·机器学习
csdn_aspnet2 小时前
C++常用算法深度解析:从STL到现代C++的算法艺术
c++
这是个栗子2 小时前
前端开发中的常用工具函数(二)(持续更新中...)
开发语言·前端·javascript
苦藤新鸡2 小时前
38.交换二叉树中所有的左右节点
开发语言·前端·javascript
TracyCoder1232 小时前
LeetCode Hot100(3/100)——128.最长连续序列
算法·leetcode
2501_944521592 小时前
Flutter for OpenHarmony 微动漫App实战:主题配置实现
android·开发语言·前端·javascript·flutter·ecmascript
kk”2 小时前
C++智能指针
开发语言·c++