博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
哈尔滨理工大学2016新生赛H题
阅读量:4922 次
发布时间:2019-06-11

本文共 2515 字,大约阅读时间需要 8 分钟。

陈月亮最喜欢的季节就是冬天了,这不看着窗外飘起了雪花,陈月亮开心的跑出屋来看雪。但是迷迷糊糊的陈月亮不知道自己是在做梦还是真的下起了雪。突然她想起了一句话,在真实世界中是没有两片一样的雪花的。于是你的任务就是比较这场雪中的所有雪花,如果出现了两朵完全一致的雪花,则证明陈月亮是在梦中。

每朵雪花用六个整数表示,范围在(1 – 10000000)之间,表示雪花六个花瓣的长度,六个整数的先后出现顺序可能是顺时针顺序也可能是逆时针顺序,并且可能是从任意一个花瓣开始的。比如说对同一个花瓣,描述方法可能是1 2 3 4 5 6 或者 4 3 2 1 6 5

Input

第一行为一个整数T,表示有T组测试数据。

每组测试数据第一行为一个整数N(0 < N <= 100000),表示雪花的数目。

接下来n行每行六个整数,描述一朵雪花。

Output

如果没有相同的雪花,输出“No two snowflakes are alike.”,否则输出“Twin snowflakes found.”

Sample Input

1

2

1 2 3 4 5 6

4 3 2 1 6 5 

Sample Output

Twin snowflakes found. 

每读入一片雪花,就将该雪花进行哈希操作,并判断哈希表里是否有相同的哈希值,如有相同的哈希值就从链表中一一取出并判断是否同构即可。

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 7 const int M = 90001; //myhash函数,取余的数 8 9 int snow[100005][6]; //存储雪花信息10 vector
myhash[M]; //myhash表,表中存储的是snow数组的下标11 12 bool isSame(int a, int b)//判断a与b是否同样 13 {14 for(int i=0;i<6;i++)15 {16 //顺时针17 if((snow[a][0] == snow[b][i] &&18 snow[a][1] == snow[b][(i+1)%6] &&19 snow[a][2] == snow[b][(i+2)%6] &&20 snow[a][3] == snow[b][(i+3)%6] &&21 snow[a][4] == snow[b][(i+4)%6] &&22 snow[a][5] == snow[b][(i+5)%6])23 || //逆时针24 (snow[a][0] == snow[b][i] &&25 snow[a][1] == snow[b][(i+5)%6] &&26 snow[a][2] == snow[b][(i+4)%6] &&27 snow[a][3] == snow[b][(i+3)%6] &&28 snow[a][4] == snow[b][(i+2)%6] &&29 snow[a][5] == snow[b][(i+1)%6]))30 31 return true;32 }33 return false;34 }35 36 int main()37 {38 freopen("h.out", "w", stdout);39 int T;40 cin >> T;41 while (T--) {42 int ok = 0;43 int n;44 int i,j;45 cin>>n;46 for( i = 0; i < n; i++) 47 for( j = 0; j < 6; j++)48 cin>>snow[i][j];49 50 int sum, key;51 for(i = 0; i < n; i++) 52 {53 sum = 0;//求出雪花六个花瓣的和54 for( j = 0; j < 6; j++) 55 sum += snow[i][j];56 key = sum % M; //求出key57 58 //判断是否与myhash表中myhash[key]存储的雪花相同59 for(vector
::size_type j = 0; j < myhash[key].size(); j++) 60 {61 if(isSame(myhash[key][j], i))//如相同 62 {63 cout<<"Twin snowflakes found."<

 

转载于:https://www.cnblogs.com/xingkongyihao/p/6105755.html

你可能感兴趣的文章
当在hive中show&nbsp;table&nbsp;…
查看>>
随机森林(Random Forest)
查看>>
[转载]/etc/security/limits.conf解释及应用
查看>>
Spring 之 BeanFactory 源码 - 抽象/类 分析
查看>>
Python的math模块
查看>>
Linux下gcc相关
查看>>
获取URL的参数
查看>>
iphone真机(越狱)通讯录导入进模拟器
查看>>
剑指offer-删除链表中重复的结点
查看>>
mybatis自动生成mapper,dao映射文件
查看>>
IntelliJ IDEA 注册码
查看>>
C 调用数学函数pow时遇到 undefined reference [已解决]
查看>>
IDEA01 创建java项目、创建web项目
查看>>
Springboot21 整合redis、利用redis实现消息队列
查看>>
AJAX 总结
查看>>
[转]WPF中对Excel文件的导入导出操作详解
查看>>
导出模块化使用手册
查看>>
rabbitmq在storm中使用
查看>>
面向对象:抽象类,继承的实现原理,封装
查看>>
.net System.IO.Stream 流操作类(FileStream等)
查看>>