字符串拼接: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;
} 
相关推荐
仰泳的熊猫8 分钟前
题目2570:蓝桥杯2020年第十一届省赛真题-成绩分析
数据结构·c++·算法·蓝桥杯
似水明俊德3 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
无极低码3 小时前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
软件算法开发4 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
Thera7774 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
superior tigre4 小时前
22 括号生成
算法·深度优先
炘爚5 小时前
C语言(文件操作)
c语言·开发语言
阿蒙Amon5 小时前
C#常用类库-详解SerialPort
开发语言·c#
凸头5 小时前
CompletableFuture 与 Future 对比与实战示例
java·开发语言