nyoj-130-相同的雪花(hash)
/*
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)的更多相关文章
- nyoj 130 同样的雪花 【哈希】
同样的雪花 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 You may have heard that no two snowflakes are alike. ...
- 相同的雪花 Hash
相同的雪花 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 You may have heard that no two snowflakes are alike. ...
- 子序列 NYOJ (尺取法+队列+hash) (尺取法+离散化)
子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 给定一个序列,请你求出该序列的一个连续的子序列,使原串中出现的所有元素皆在该子序列中出现过至少1次. 如2 8 ...
- POJ 3349 HASH
题目链接:http://poj.org/problem?id=3349 题意:你可能听说话世界上没有两片相同的雪花,我们定义一个雪花有6个瓣,如果存在有2个雪花相同[雪花是环形的,所以相同可以是旋转过 ...
- 0x14 hash
被虐爆了 cry 我的hash是真的菜啊... poj3349 肝了一个上午心态崩了...一上午fail了42次我的天,一开始搞了个排序复杂度多了个log,而且是那种可能不同值相等的hash,把12种 ...
- redis4.0.6集群搭建
文件环境:CentOS7 + redis4.0.6 先去官网下载redis:https://redis.io/,然后上传到你的虚拟机,我上传到了/mysoft 先解压->然后进入主目录-> ...
- bzoj3820 虫逢
Description 小强和阿米巴是好朋友. 阿米巴告诉小强,变形虫(又叫阿米巴虫)和绝大多数生物一样,也是有 DNA 的.并且,变形虫可以通过分裂的方式进行无性繁殖. 我们把一个变形虫的基因组抽象 ...
- POJ 3349 Snowflake Snow Snowflakes(哈希表)
题意:判断有没有两朵相同的雪花.每朵雪花有六瓣,比较花瓣长度的方法看是否是一样的,如果对应的arms有相同的长度说明是一样的.给出n朵,只要有两朵是一样的就输出有Twin snowflakes fou ...
- 一致性哈希算法C#实现
一致性hash实现,以下实现没有考虑多线程情况,也就是没有加锁,需要的可以自行加上.因为换行的问题,阅读不太方便,可以拷贝到本地再读. 1 /// <summary> 2 /// 一致性哈 ...
随机推荐
- R&python机器学习之朴素贝叶斯分类
朴素贝叶斯算法描述应用贝叶斯定理进行分类的一个简单应用.这里之所以称之为“朴素”,是因为它假设各个特征属性是无关的,而现实情况往往不是如此. 贝叶斯定理也称贝叶斯推理,早在18世纪,英国学者贝叶斯(1 ...
- 剑指offer 面试10题
面试10题: 题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.n<=39 n=0时,f(n)=0 n=1时,f(n)=1 n>1时,f(n)=f(n-1 ...
- XML和解析
XML和解析 1.什么是XML?Extensible Markup Language,可扩展标记语言.一般也叫XML文档.和JSON一样,也是常用的一种用于交互的数据格式. 2.XML语法1)一个常见 ...
- 【转】Python爬虫(4)_selenium模块
一 介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作, ...
- Redis集群环境搭建
Redis集群cluster环境搭建 描述:本章节主要单服务器搭建集群,在一个服务器上启动多个不同端口的redis服务,非真实环境. 真实环境下redis集群会搭建在多个物理服务器上,并非单一的服务器 ...
- jpa,jdbc,hibernate/mybatis,数据库驱动
JPA是规范,hibernate/mybatis是对规范的实现,hibernate/mybatis是对jdbc的封装,也就是说hibernate/mybatis还是会调用jdbc. 我们平时使用 ...
- 添加code到github上
第一步:github上新建远程仓库 1. 在 https://github.com/ 注册账号 2. new 一个新仓库 (1) 点击加号下的`New repository` (2)在Reposit ...
- 跨平台移动开发 App-Framework DEMO 演示
穿越到2015 回到->MarkFan的程序员客栈 App-Framework DEMO 演示 点击APK包下载 点击Demo代码下载 官方网站 :http://app-framework- ...
- jQuery仿Android锁屏图案应用
在线演示 本地下载
- awk中的常用关于处理字符串的函数
1.替换字符串中的某一部分. 函数:gensub(/rexpr/,"replace","g","string"),gensub返回一个新的字 ...