hrbust2300 下雪了(hash)
下雪啦 | ||||||
|
||||||
Description | ||||||
陈月亮最喜欢的季节就是冬天了,这不看着窗外飘起了雪花,陈月亮开心的跑出屋来看雪。但是迷迷糊糊的陈月亮不知道自己是在做梦还是真的下起了雪。突然她想起了一句话,在真实世界中是没有两片一样的雪花的。于是你的任务就是比较这场雪中的所有雪花,如果出现了两朵完全一致的雪花,则证明陈月亮是在梦中。 每朵雪花用六个整数表示,范围在(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. |
||||||
Source | ||||||
2016级新生程序设计全国邀请赛 |
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int snow[100005][6];
bool judge(int a, int b) //判断两片雪花是否相同
{for(int i=0; i<6; i++){if((snow[a][0] == snow[b][i] &&snow[a][1] == snow[b][(i+1)%6] &&snow[a][2] == snow[b][(i+2)%6] &&snow[a][3] == snow[b][(i+3)%6] &&snow[a][4] == snow[b][(i+4)%6] &&snow[a][5] == snow[b][(i+5)%6])||(snow[a][0] == snow[b][i] &&snow[a][1] == snow[b][(i+5)%6] &&snow[a][2] == snow[b][(i+4)%6] &&snow[a][3] == snow[b][(i+3)%6] &&snow[a][4] == snow[b][(i+2)%6] &&snow[a][5] == snow[b][(i+1)%6]))return true;}return false;
}
int main()
{int t, n;cin >> t;while(t--){vector<int>hashh[100005];scanf("%d", &n);int flag = 0;for(int i=0; i<n; i++){int sum = 0;for(int j=0; j<6; j++){int temp;scanf("%d", &temp);snow[i][j] = temp;sum += temp;}sum %= 90007;for(int j=0; j<hashh[sum].size(); j++) //判断是否出现过if(judge(hashh[sum][j], i))flag = 1;hashh[sum].push_back(i);}if(flag) cout << "Twin snowflakes found." << endl;else cout << "No two snowflakes are alike." << endl;}return 0;
}
hrbust2300 下雪了(hash)相关推荐
- hrbust 2300 下雪啦 (hash vector)
下雪啦 Time Limit: 2500 MS Memory Limit: 32768 K Total Submit: 257(48 users) Total Accepted: 52(24 user ...
- Hrbust 2300 下雪啦【字符串Hash】
下雪啦 Time Limit: 2500 MS Memory Limit: 32768 K Total Submit: 276(51 users) Total Accepted: 58(26 user ...
- 16哈理工新生赛 H 下雪啦 (哈希表)
题目链接:点击打开链接 下雪啦 Time Limit: 2500 MS Memory Limit: 32768 K Total Submit: 184(32 users) Total Accepted ...
- cesium实现下雨下雪特效
页面效果 使用着色器实例特效 下雨特效着色器 // 下雨特效 rain () {removeStage();var e = new Cesium.PostProcessStage({name: &qu ...
- cesium,实现下雨下雪效果切换
honey们,一起来学习cesium天气效果吧^^ 本篇文章实现的是简单的HTML页面在线显示,用其他框架的改一下就可以啦 1.CDN引入 <script src='https://cdn.bo ...
- Redis 笔记(05)— hash 类型(设置获取单个hash值、判断hash键是否存在、设置获取多个hash值、获取所有hash的键、获取所有hash的值、删除hash指定键)
Redis 的字典是无序字典.Redis 的字典的值只能是字符串,当 hash 移除了最后一个元素之后,该数据结构自动被删除,内存被回收. hash 结构也可以用来存储用户信息,不同于字符串一次性需要 ...
- java中hashcode_浅谈Java中的Hash值
1.Hash值有什么用? HashMap.HashTable.HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode.HashCode是Key,这种计算为提高计算的性能. ...
- poj2002 hash+数学
1 .求不同的四个点组成最大正方形的总个数: 2.由(x1,y1),(x2,y2),可以求出另外两点的坐标: 即 x3=x1+(y1-y2);y3=y1-(x1-x2); x4=x2+(y1-y2); ...
- 从头到尾彻底解析Hash表算法
从头到尾彻底解析Hash表算法 发布时间: 2013-10-02 10:26 阅读: 25156 次 推荐: 14 原文链接 [收藏] 作者:July.wuliming.pkuoliv ...
最新文章
- Android App的启动过程
- 小程序登录、用户信息相关接口调整说明
- Msql sql(优化三)
- 上周那个 iPad还没送出去呢!
- sqlite3 unicode转中文
- 基于连通域字符分割的流程_基于连通域的版面分割研究
- pyqt讲解7:表格和树
- plc tcp ip通讯怎么只能连一个客户端_浅谈西门子plc的profinet功能的开放式通信功能...
- 测试Open Live Writer
- JAVA入门级教学之(连接运算符)
- ol xyz 加载天地图_OpenLayers加载天地图方法——WMTS和XYZ
- UI控件之UISlider
- 飞秋2010下载不仅野草是如此
- vm安装net失败_使用minikube安装kubernetes和dashboard
- python爬虫06
- AJAX vs FLEX:执行,传送,解析JSON,HTML,XML,AFM格式效率比较.
- JavaScript获取验证码,60秒倒计时方法
- 面向对象编程方法-抽象
- Tomcat启动报:The Server time zone value 'XXXXX' 乱码问题解决
- unsatisfied condition: __STDC_VERSION__ = 201112L
热门文章
- 3033929不适用计算机,错误 (安装 RSAT 时此更新不适用于) 计算机计算机 - Windows Client | Microsoft Docs...
- 计算机图形学练习(二)——正方体绕轴旋转
- 神级编辑器 Vim 使用-正则替换篇
- layui表格筛选列不随页面刷新重置
- python----异常的概念和使用
- MySQL5.7下载安装
- 程序内存分配 栈和堆
- 另一个小程序 返回的支付结果如何得到_如何高效对接第三方支付
- 无线lan适用对象是服务器吗,无线 LAN 服务概述
- 武林风云之服务器删除日志脚本