字符串拼接: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;
} 
相关推荐
tankeven4 分钟前
动态规划专题(03):区间动态规划从原理到实践(未完待续)
c++·算法·动态规划
天若有情6739 分钟前
【C++原创开源】formort.h:一行头文件,实现比JS模板字符串更爽的链式拼接+响应式变量
开发语言·javascript·c++·git·github·开源项目·模版字符串
好家伙VCC13 分钟前
**发散创新:基于Python与ROS的机器人运动控制实战解析**在现代机器人系统开发中,**运动控制**是实现智能行为的核心
java·开发语言·python·机器人
2401_8274999913 分钟前
python项目实战09-AI智能伴侣(ai_partner_2-3)
开发语言·python
派葛穆15 分钟前
汇川PLC-Python与汇川easy521plc进行Modbustcp通讯
开发语言·python
大前端下的小角色1 小时前
UE5.6 Cesium 插件编译踩坑记录(UE 5.6 + MSVC 14.38 + CMake 3.31)
c++
lzhdim1 小时前
SharpCompress:跨平台的 C# 压缩与解压库
开发语言·c#
嘿嘿嘿x31 小时前
Linux记录过程
linux·开发语言
田梓燊1 小时前
2026/4/11 leetcode 3741
数据结构·算法·leetcode
默 语1 小时前
Records、Sealed Classes这些新特性:Java真的变简单了吗?
java·开发语言·python