题目链接

/*
Name:NYOJ-130-相同的雪花
Copyright:
Author:
Date: 2018/4/14 15:13:39
Description:
将雪花各个分支上的值加起来,hash
*/
#include <iostream>
#include <vector>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN = 1e5+;
int snowflakes[MAXN][];
vector<int> snow[];//hash
int Like(int x,int y)//判断两片雪花是否相同
{
for(int i=;i<;i++)
{
if((snowflakes[x][]==snowflakes[y][i]&&snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][(i+)%])///顺时针方向判断两个雪花是否相同
||(snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][(i+)%]&&snowflakes[x][]==snowflakes[y][i]))///逆时针方向判断两个雪花是否相同
return ;
}
return ;
}
int main()
{
// freopen("in.txt", "r", stdin);
int t;
cin>>t;
while (t--) {
memset(snow, , sizeof(snow));
int n;
cin>>n;
for (int i=; i<n; i++) {
int sum = ;
for (int j=; j<; j++) {
int tmp;
cin>>tmp;
snowflakes[i][j] = tmp;
sum += tmp;
}
sum = sum % ;//防止越界
snow[sum].push_back(i);
}
int flag = ;
for (int i=; i<; i++) {
if (flag) break;
if (snow[i].size() < ) continue;
for (int j=; j<snow[i].size()-; j++) {
for (int k=j+; k<snow[i].size(); k++) {
if (Like(snow[i][j], snow[i][k])) {
flag = ;
break;
} }
}
}
if(flag)printf("Twin snowflakes found.\n");
else printf("No two snowflakes are alike.\n");
}
return ;
}

nyoj-130-相同的雪花(hash)的更多相关文章

  1. nyoj 130 同样的雪花 【哈希】

    同样的雪花 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 You may have heard that no two snowflakes are alike. ...

  2. 相同的雪花 Hash

    相同的雪花 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 You may have heard that no two snowflakes are alike. ...

  3. 子序列 NYOJ (尺取法+队列+hash) (尺取法+离散化)

    子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 给定一个序列,请你求出该序列的一个连续的子序列,使原串中出现的所有元素皆在该子序列中出现过至少1次. 如2 8 ...

  4. POJ 3349 HASH

    题目链接:http://poj.org/problem?id=3349 题意:你可能听说话世界上没有两片相同的雪花,我们定义一个雪花有6个瓣,如果存在有2个雪花相同[雪花是环形的,所以相同可以是旋转过 ...

  5. 0x14 hash

    被虐爆了 cry 我的hash是真的菜啊... poj3349 肝了一个上午心态崩了...一上午fail了42次我的天,一开始搞了个排序复杂度多了个log,而且是那种可能不同值相等的hash,把12种 ...

  6. redis4.0.6集群搭建

    文件环境:CentOS7 + redis4.0.6 先去官网下载redis:https://redis.io/,然后上传到你的虚拟机,我上传到了/mysoft 先解压->然后进入主目录-> ...

  7. bzoj3820 虫逢

    Description 小强和阿米巴是好朋友. 阿米巴告诉小强,变形虫(又叫阿米巴虫)和绝大多数生物一样,也是有 DNA 的.并且,变形虫可以通过分裂的方式进行无性繁殖. 我们把一个变形虫的基因组抽象 ...

  8. POJ 3349 Snowflake Snow Snowflakes(哈希表)

    题意:判断有没有两朵相同的雪花.每朵雪花有六瓣,比较花瓣长度的方法看是否是一样的,如果对应的arms有相同的长度说明是一样的.给出n朵,只要有两朵是一样的就输出有Twin snowflakes fou ...

  9. 一致性哈希算法C#实现

    一致性hash实现,以下实现没有考虑多线程情况,也就是没有加锁,需要的可以自行加上.因为换行的问题,阅读不太方便,可以拷贝到本地再读. 1 /// <summary> 2 /// 一致性哈 ...

随机推荐

  1. php 数组 高效随机抽取指定条记录的算法

    php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下ar ...

  2. 曾经遇到的坑------href="#"和href="javascript:void(0);"、href="javascript:;"

    这个是为了 在点击此链接后回到页首,如果你写href="#"那么点击后会回到页首,这样影响操作. <a href="javascript:void 0" ...

  3. 当退出python时,是否释放全部内存

    答案是no,循环引用其他对象或引用自全局命名空间的对象的模块,在python退出时并非完全释放 另外,也不会释放c库保留的内存部分

  4. LDA主题模型三连击-入门/理论/代码

    目录 概况 为什么需要 LDA是什么 LDA的应用 gensim应用 数学原理 预备知识 抽取模型 样本生成 代码编写 本文将从三个方面介绍LDA主题模型--整体概况.数学推导.动手实现. 关于LDA ...

  5. cocos2d关于glew32.lib错误(转)

    应项目需要使用cocos2d-x开发,又要学习新东东了.·cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,用C++重写cocos2d-iphone引擎的一个开源项目,想了解更多的童鞋美去百 ...

  6. 【HackerRank】 有洞的地图

    给你一个n*n的地图.地图中的每个格子有一个值表示该地区的深度.我们称一个地图中的一个格子为空洞,当且仅当该格子不在地图边缘并且每个和它相邻的格子都具有比它更小的深度.两个格子称为相邻如果它们共有一条 ...

  7. 1.mysql导论

    虽然之前用过mysql一年多,但大多只是会用,深入了解的不多.所以想利用平时时间 系统的总结总结. 一.什么是数据库:(数据库软件)     1).什么是数据库(软件):数据库(DB:DataBase ...

  8. HTTP通信模拟表单提交数据

    前面记录过一篇关于http通信,发送数据的文章:http://www.cnblogs.com/hyyq/p/7089040.html,今天要记录的是如何通过http模拟表单提交数据. 一.通过GET请 ...

  9. codevs1907 方格取数 3

    «问题描述:在一个有m*n 个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法.«编程任务:对于给定的方格棋 ...

  10. ambari2.4.2在CentOS7上的二次开发

    前言:如果想安装到CentOS7,就一定要将源码在CentOS7上编译,然后安装,否则可能会出现各种问题 目录 源码结构 技术点 编译环境的搭建  安装samba 安装编译环境 整体编译 ambari ...