Snowflake Snow Snowflakes POJ - 3349 Hash
题意:一个雪花有六个角 给出N个雪花 判断有没有相同的(可以随意旋转)
参考:https://blog.csdn.net/alongela/article/details/8245005
注意:参考的博客的写法有问题 不知道POJ为什么没有卡掉
例如 数据 1
1 1 1 1 1 1
如果用这个博客的写法 等于自己和自己比了 输出的是yes
只要稍微改一下 改成比完之后插入key就能解决了
疑问: manx=1000000+10会T 改成1200000+10才能过不知道为什么
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int maxn=;
const int MOD=;
int HashTable[maxn];
int cur=;
struct Node{
int num[];
int next;
}node[MOD+]; unsigned getHash(int*num){
unsigned sum=;
for(int i=;i<;i++)
sum=(sum+num[i])%MOD;
return sum%MODhttps:
}
void insertHash(int*num,unsigned key){
for(int i=;i<;i++)node[cur].num[i]=num[i];
node[cur].next=HashTable[key];
HashTable[key]=cur;
cur++;
}
bool cmp(int*num1,int*num2){
for(int i=;i<;i++){
if(num1[i]!=num2[i])return ;
}
return ;
}
bool searchHash(int*num){
unsigned key=getHash(num);
int next=HashTable[key];
while(next!=-){
if(cmp(num,node[next].num))return ;
next=node[next].next;
}
//insertHash(num,key);//不能边查边插,否则会自己匹配自己
return ;
}
int main(){
int n;
int num[][];
bool flag=;
cur=;
memset(HashTable,-,sizeof(HashTable));
scanf("%d",&n);
while(n--){
for(int i=;i<;i++){
scanf("%d",&num[][i]);
num[][i+]=num[][i];
}
if(flag)continue;
for(int i=;i<;i++){
num[][i+]=num[][i]=num[][-i];
}
for(int i=;i<;i++){
if(searchHash(num[]+i)||searchHash(num[]+i)){
flag=;
// cout<<111<<endl;
break;
}
}
for(int i=;i<;i++){//这里改成了之后插入
insertHash(num[]+i,getHash(num[]+i));
insertHash(num[]+i,getHash(num[]+i));
}
}
if(flag)printf("Twin snowflakes found.\n");
else printf("No two snowflakes are alike.\n"); return ;
}
Snowflake Snow Snowflakes POJ - 3349 Hash的更多相关文章
- Snowflake Snow Snowflakes - poj 3349 (hash函数)
判断n朵雪花中,是否有完全一样的雪花.简单的hash,将雪花的六个边的权值加起来,记为sum,将sum相等的雪花归为一类,再在这里面根据题意找完全相同的,判断顺时针或者逆时针的所有角是否一模一样. # ...
- Snowflake Snow Snowflakes POJ - 3349(hash)
You may have heard that no two snowflakes are alike. Your task is to write a program to determine wh ...
- POJ--3349 Snowflake Snow Snowflakes(数字hash)
链接:Snowflake Snow Snowflakes 判断所有的雪花里面有没有相同的 每次把雪花每个角的值进行相加和相乘 之后hash #include<iostream> #incl ...
- 【POJ3349 Snowflake Snow Snowflakes】【Hash表】
最近在对照省选知识点自己的技能树 今天是Hash 题面 大概是给定有n个6元序列 定义两个序列相等 当两个序列各自从某一个元素开始顺时针或者逆时针旋转排列能得到两个相同的序列 求这n个6元序列中是否有 ...
- POJ 3349:Snowflake Snow Snowflakes(数的Hash)
http://poj.org/problem?id=3349 Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K T ...
- POJ 3349 Snowflake Snow Snowflakes (Hash)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 48646 Accep ...
- 哈希—— POJ 3349 Snowflake Snow Snowflakes
相应POJ题目:点击打开链接 Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions ...
- POJ 3349 Snowflake Snow Snowflakes(简单哈希)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 39324 Accep ...
- POJ 3349 Snowflake Snow Snowflakes
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 27598 Accepted: ...
随机推荐
- 腾讯AlloyTeam正式发布omi-cli脚手架 - 创建网站无需任何配置
omi-cli omi-cli omi-cli命令 omi框架 用户指南 文件目录 npm 脚本 npm start npm run dist 代码分割 兼容 IE8 插入 CSS 插入组件局部 CS ...
- 正确理解Handle对象
上古时期的程序员, 肯定都知道Handle对象, 一般中文翻译成句柄. 一般的Handle在实现上, 都是一个整数, 而这个整数可以理解为一个指针, 指针指向的地址呢, 又保存了另外一个指针. 之所以 ...
- 1060D Social Circles(贪心)
题意:有n个客人,第i个客人希望左边至少Li个空椅子,右边至少Ri个空椅子,每个客人都属于一个圈,问你最少需要准备的椅子数量 贪心做,每个人都可以去和另一个人牵手,组成一个新的人,那么我们让大的和大的 ...
- JDK8-新特性-附demo
import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Base64; impor ...
- 课程存储校对:程序设计思想、源程序代码、运行结果截图,以及开发过程中的项目计划日志、时间记录日志、缺陷记录日志(PSP0级记录)。
1.程序设计思想 ⑴将JDBC驱动jar包导入到WEB-INF的lib文件夹下 ⑵建立数据库,在数据库中建表,分别将课程名称.任课教师及上课地点录入到列中 ⑶首先写出加载驱动.关闭资源的工具类和异常处 ...
- 简述HTTP协议
引言 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议.HTTP 是基于 TCP/IP 协议通信协议 ...
- Lumen与laravel的区别
Lumen与laravel的区别 困惑 一直都无法很友好的理解Lumen与Laravel之间的区别,只知道他们是非常相似的两个php框架,使用方法什么的都差不多. 为什么要解惑 最近接手了公司的一 ...
- Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-
Maven项目报错:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clea ...
- 爬取B站视频
先安装you_get pip install you_get 爬取代码,爬了个ASMR的,学习困了自我催眠 import sys from you_get import common as you_g ...
- Python之路-(Django(csrf,中间件,缓存,信号,Model操作,Form操作))
csrf 中间件 缓存 信号 Model操作 Form操作 csrf: 用 django 有多久,我跟 csrf 这个概念打交道就有久了. 每次初始化一个项目时都能看到 django.middlewa ...