字符串拼接: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;
} 
相关推荐
atunet几秒前
关于从哈希冲突看缓存设计的实践与权衡7
算法
zjun10011 小时前
C++:单例模式
c++·单例模式
-银雾鸢尾-5 小时前
C#中的拓展方法
开发语言·c#
guodingdingh7 小时前
软件开发工作问题总结0718
java·开发语言·数据库
GuWenyue9 小时前
传统Agent工具两大痛点!300行代码落地MCP跨语言工具,彻底解耦LLM与工具
前端·人工智能·算法
优橙教育9 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
同勉共进10 小时前
记一例 vibe coding + gcc bug 导致的线程池死锁问题
c++·线程池·gcc·死锁·vibe coding
我叫洋洋10 小时前
C ++ [ hello world ]
c语言·c++·算法
SeaTunnel11 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
碎光拾影11 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库