题目链接: http://poj.org/problem?id=3349

 #include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
const int prime = ; struct Snow
{
int leg[];
}snow[]; struct HashTable
{
struct Snow *data;
struct HashTable *next;
HashTable()
{
next = NULL;
}
}; struct HashTable *Hash[prime]; bool clockwise(const struct Snow &a, const struct Snow &b)
{
for(int i = , j; i < ; i++)
{
if(a.leg[i] == b.leg[])
{
for(j = ; j < ; j++)
{
if(a.leg[(i+j)%] != b.leg[j])
break;
}
if(j >= )return ;
}
}
return ;
} bool counterclockwise(const struct Snow &a, const struct Snow &b)
{
for(int i = , j; i < ; i++)
{
if(a.leg[i] == b.leg[])
{
for(j = ; j < ; j++)
{
if(a.leg[(i+j)%] != b.leg[-j])
break;
}
if(j >= )return ;
}
}
return ;
} bool hash_insert(int key, struct Snow *snow_ptr)
{
if(Hash[key] == NULL)
{
Hash[key] = new HashTable;
Hash[key]->data = snow_ptr;
}
else
{
struct HashTable *p = Hash[key];
while(p != NULL)
{
if(clockwise(*p->data, *snow_ptr) || counterclockwise(*p->data, *snow_ptr))
return ;
else p = p->next;
}
p = new HashTable;
p->data = snow_ptr;
}
return ;
} int main()
{
int n, key;
while(scanf("%d", &n) != EOF)
{
bool ok = ;
memset(Hash, , sizeof(Hash));
for(int i = ; i < n; i++)
{
key = ;
for(int j = ; j < ; j++)
{
scanf("%d", &snow[i].leg[j]);
key += snow[i].leg[j];
}
key %= prime;
if(!ok)
{
ok = hash_insert(key, &snow[i]);
}
}
printf("%s\n", ok ? "Twin snowflakes found." : "No two snowflakes are alike.");
}
return ;
}

POJ 3349 Snowflake Snow Snowflakes Hash的更多相关文章

  1. POJ 3349 Snowflake Snow Snowflakes (Hash)

    Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 48646   Accep ...

  2. 哈希—— POJ 3349 Snowflake Snow Snowflakes

    相应POJ题目:点击打开链接 Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions ...

  3. POJ 3349 Snowflake Snow Snowflakes(简单哈希)

    Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 39324   Accep ...

  4. POJ 3349 Snowflake Snow Snowflakes

    Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 27598 Accepted: ...

  5. [ACM] POJ 3349 Snowflake Snow Snowflakes(哈希查找,链式解决冲突)

    Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 30512   Accep ...

  6. poj 3349:Snowflake Snow Snowflakes(哈希查找,求和取余法+拉链法)

    Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 30529   Accep ...

  7. [poj 3349] Snowflake Snow Snowflakes 解题报告 (hash表)

    题目链接:http://poj.org/problem?id=3349 Description You may have heard that no two snowflakes are alike. ...

  8. hash应用以及vector的使用简介:POJ 3349 Snowflake Snow Snowflakes

    今天学的hash.说实话还没怎么搞懂,明天有时间把知识点总结写了,今天就小小的写个结题报告吧! 题意: 在n (n<100000)个雪花中判断是否存在两片完全相同的雪花,每片雪花有6个角,每个角 ...

  9. POJ 3349 Snowflake Snow Snowflakes(哈希)

    http://poj.org/problem?id=3349 题意 :分别给你n片雪花的六个角的长度,让你比较一下这n个雪花有没有相同的. 思路:一开始以为把每一个雪花的六个角的长度sort一下,然后 ...

随机推荐

  1. 【转】Android 最火的快速开发框架XUtils

    原文:http://blog.csdn.net/rain_butterfly/article/details/37812371 最近搜了一些框架供初学者学习,比较了一下XUtils是目前git上比较活 ...

  2. sharepoint 2013 更改搜索server组态

    1.新搜索server在.安装sharepoint server 2013,并连接到一个现有的sharepoint server领域,完成后.您可以配置新的搜索server. 打开sharepoint ...

  3. Android(java)学习笔记156:Java虚拟机和Dalvik虚拟机的区别

    Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野.它对内存的高效使用,和在低速CPU上表现出的高性能,确实令 ...

  4. iOS NSDatePicker

    1.NSDate类 1>NSDate是系统一个日期,时间类 2>就是返回当前的日期,时间 3>+(id)date; 4>返回未来secs秒后的日期,时间 5>+(id)d ...

  5. NSObject中的isa到底是个什么?

    首先看一下NSObject的定义: @interface NSObject <NSObject> { Class isa OBJC_ISA_AVAILABILITY; } 官方解释:Eve ...

  6. java与.net平台之间进行RSA加密验证

    RSA加密算法虽然不分平台,标准都是一样的,但是各个平台的实现方式都不尽相同,下面来我来说说java与.net平台之间该如何进行RSA加密验证,即java端加密->.net端验证和.net端加密 ...

  7. Dom操作--全选反选

    我们经常会在网站上遇到一些多选的情况,下面我就来说说使用Dom写全选反选的思路. 全选思路:首先,我们来分析一下知道,当我们点击"全选"复选框的时候,所有的复选框应该都被选中,那我 ...

  8. 20151210jquery进阶 代码备份

    $(function () { /*$('form input[type=button]').click(function() { $.ajax({ type:'POST', //url:'http: ...

  9. 利用Merge生成或更新新记录

    -- ============================================= -- Author: <华仔> -- Create date: <2016,6,7& ...

  10. ASP.NET页面生命周期总结(2)

    HttpAplicationFactory获取一个HttpApplication对象: 内部:1.如果是第一次请求过来,那么就把global文件编译成一个类型.(后续请求来的,就可以直接获取这个类型) ...