P3405 [USACO16DEC]Cities and States省市

题目描述

To keep his cows intellectually stimulated, Farmer John has placed a large map of the USA on the wall of his barn. Since the cows spend many hours in the barn staring at this map, they start to notice several curious patterns. For example, the cities of Flint, MI and Miami, FL share a very special relationship: the first two letters of "Flint" give the state code ("FL") for Miami, and the first two letters of "Miami" give the state code ("MI") for Flint.

Let us say that two cities are a "special pair" if they satisfy this property and come from different states. The cows are wondering how many special pairs of cities exist. Please help them solve this amusing geographical puzzle!

为了让奶牛在智力上受到刺激,农夫约翰在谷仓的墙上放了一张美国地图。由于奶牛在谷仓里花了很多时间盯着这张地图,他们开始注意到一些奇怪的关系。例如,城市Flint,在MI省,或者Miami在FL省,他们有一种特殊的关系:“Flint”市前两个字母就是“FL”省,迈阿密前两个字母是“MI”省。

让我们说,两个城市是一个“特殊的一对”,如果他们满足这个属性,来自不同的省。奶牛想知道有多少特殊的城市存在。请帮助他们解决这个有趣的地理难题!

输入输出格式

输入格式:

The first line of input contains NN (1 \leq N \leq 200,0001≤N≤200,000), the number ofcities on the map.

The next NN lines each contain two strings: the name of a city (a string of at least 2 and at most 10 uppercase letters), and its two-letter state code (a string of 2 uppercase letters). Note that the state code may be something like ZQ, which is not an actual USA state. Multiple cities with the same name can exist, but they will be in different states.

输入的第一行包含(),地图上的城市数量。

下一行包含两个字符串:一个城市的名称(字符串至少2个最多10个大写字母),和它的两个字母的州代码(一串2个大写字母)。注意状态代码可能像ZQ,这并不是一个真正的美国。同一名称的多个城市可以存在,但它们将处于不同的州。

输出格式:

Please output the number of special pairs of cities.

请输出特殊城市对数。

输入输出样例

输入样例#1:

6
MIAMI FL
DALLAS TX
FLINT MI
CLEMSON SC
BOSTON MA
ORLANDO FL

输出样例#1:

1
/*样例可以直接看成下面这个样子的:MIFLDATXFLMICLSCBOMAORFL如果有满足题意,那么就是MIFL 和 FLMI,那么,这里的有效数据只有四个字母,那么每一行我们就可以看作一个四位26进制数!!维护两个数组,一个hash1[456976],一个hash1[456976],具体456976是什么意思,是因为如果我们将A看做0,B看做1……Z看做25,那么最小的数AAAA=0,就是最大的数就是ZZZZ=((25*26+25)*26+25)*26+25=456975。那么,问题轻易解出——hash1表示原来的数,hash2表示市编号和州编号翻转后的表示的数。然后循环一遍,算出答案。注意此时算出的答案是两倍的,因为每个算了两遍。
*/
#include<iostream>
#include<cstdio>
using namespace std;
#define maxn 26*26*26*27
int n,h1[maxn],h2[maxn];
char s1[100],s2[100];
int main(){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%s%s",s1+1,s2+1);if(s1[1]!=s2[1]||s1[2]!=s2[2]){int x1=(((s1[1]-'A')*26+s1[2]-'A')*26+s2[1]-'A')*26+s2[2]-'A';int x2=(((s2[1]-'A')*26+s2[2]-'A')*26+s1[1]-'A')*26+s1[2]-'A';h1[x1]++;h2[x2]++;}}long long ans=0;for(int i=0;i<maxn;i++)ans+=h1[i]*h2[i];ans/=2;cout<<ans;
}

转载于:https://www.cnblogs.com/thmyl/p/7512154.html

洛谷P3405 [USACO16DEC]Cities and States省市相关推荐

  1. hash:奶牛看地图(洛谷P3405 [USACO16DEC]Cities and States S)

    洛谷传送门 解析 其实就是每组2个长度为2的字符串统计交叉相等的个数 每个序列可以用一个26进制的数来表示,总要加个标签,勉强算hash..(想叫<水题> ) 最大值为26*26(ZZ) ...

  2. Hash表——省市(洛谷 P3405)

    题目选自洛谷P3405 因为值和前两个字母有关系,所以对每个字符串只保留前两个字母,相当于有N个二元组 <ai,bi>,问<ai,bi> = <bi,ai> 的(i ...

  3. 洛谷 P3184 [USACO16DEC]Counting Haybales数草垛

    洛谷 P3184 [USACO16DEC]Counting Haybales数草垛 题目描述 Farmer John has just arranged his NN haybales (1 \leq ...

  4. [USACO16DEC]Cities and States S

    题目描述 为了让奶牛在智力上受到刺激,农夫约翰在谷仓的墙上放了一张美国地图.由于奶牛在谷仓里花了很多时间盯着这张地图,他们开始注意到一些奇怪的关系.例如,城市Flint,在MI省,或者Miami在FL ...

  5. [洛谷P3527] [POI2011]MET-Meteors

    洛谷题目链接:[POI2011]MET-Meteors 题意翻译 Byteotian Interstellar Union有N个成员国.现在它发现了一颗新的星球,这颗星球的轨道被分为M份(第M份和第1 ...

  6. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  7. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

  8. 洛谷 P1387 最大正方形

    P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...

  9. 洛谷P2763 试题库问题

    题目:https://www.luogu.org/problemnew/show/P2763 题目描述 «问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性. ...

最新文章

  1. 微博 php7,新浪微博PHP版SDK的导致20007错误
  2. hdu5444(2015长春网络赛H题)
  3. php 大批量的删除图片,PHP批量删除记录同时删除图片文件
  4. 关于使用pietty或putty终端连接ubuntu虚拟机时报被拒绝连接问题
  5. (转)postgis常用函数介绍(一)
  6. python3.3 urllib.error.HTTPError: HTTP Error 403: Forbidden
  7. 魅族魅蓝note3完美开启usb调试模式的经验
  8. 平均无故障时间100万小时_无故障运行时间MTBF投标要求GB5080.7-中检
  9. lopatkin俄大神精简中英俄系统Windows 10 Home 18362.145 19H1 Release x86-x64 RU-EN-CN NANO
  10. Gifxing在线图片无损压缩,gif压缩
  11. php字符串转拼音,php程序如何把中文字符转换为拼音
  12. FCN——Semantic Segmentation的开山之作之论文解析
  13. windbg调试kvm windows虚机
  14. 大二下学期ACM比赛总结
  15. js红宝石书第四版--P446有点不严谨的地方的指出
  16. 【C语言学习】C语言入门
  17. 微信小程序之父子间组件传参
  18. 百度飞桨的乌镇时刻:拿下的至高荣誉和背后的绝对实力
  19. 知乎高赞的7个顶级资源网站,记住了帮你减少一半的搜索时间
  20. 杰里之104X之输出 3 路 PMW【篇】

热门文章

  1. Standard C Episode 8
  2. BZOJ-1036 [ZJOI2008]树的统计
  3. 有前途的人工智能大数据分析相关职业:Python数据科学入门之路
  4. 使用el-checkbox实现全选,点击失效没有反应
  5. [Python] 程序结构与控制流
  6. MongDB集合文档操作符
  7. Unity AI副总裁Danny Lange:如何用AI助推游戏行业?
  8. 流控思路——多消费者定量生产(第100篇)
  9. 在Atom中运行脚本
  10. hive cli启动判断hadoop version的问题