POJ3349 Language: Snowflake Snow Snowflakes

题目:传送门


题解:

   链表+hash的一道水题

   填个坑补个漏...

  


代码:

 #include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long LL;
int n,tot,mod=;
int a[],snow[][],head[],next[];
int Hash(int *a) {
int sum=,ans=;
for(int i=;i<;i++) {
sum=(sum+a[i])%mod;
ans=(LL)ans*a[i]%mod;
}
return (sum+ans)%mod;
}
bool Find(int *a,int *b) {
for(int i=;i<;i++)
for(int j=;j<;j++) {
bool bk=true;
for(int k=;k<;k++)if(a[(i+k)%]!=b[(j+k)%])bk=false;
if(bk)return true;
bk=true;
for(int k=;k<;k++)if(a[(i+k)%]!=b[(j-k)%])bk=false;
if(bk)return true;
}
return false;
}
bool pd(int *a) {
int x=Hash(a);
for(int i=head[x];i;i=next[i])if(Find(snow[i],a))return true;
++tot;
for(int i=;i<;i++)snow[tot][i]=a[i];
next[tot]=head[x];
head[x]=tot;
return false;
}
int main() {
scanf("%d",&n);tot=;
for(int i=;i<=n;i++) {
for(int j=;j<;j++)scanf("%d",&a[j]);
if(pd(a)) {
printf("Twin snowflakes found.");
return ;
}
}
printf("No two snowflakes are alike.");
return ;
}

POJ3349 Language: Snowflake Snow Snowflakes的更多相关文章

  1. [poj3349]Snowflake Snow Snowflakes(hash)

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

  2. POJ--3349 Snowflake Snow Snowflakes(数字hash)

    链接:Snowflake Snow Snowflakes 判断所有的雪花里面有没有相同的 每次把雪花每个角的值进行相加和相乘 之后hash #include<iostream> #incl ...

  3. poj3349 Snowflake Snow Snowflakes【HASH】

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

  4. POJ3349 Snowflake Snow Snowflakes (hash

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

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

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

  6. Snowflake Snow Snowflakes(哈希表的应用)

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

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

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

  8. POJ 3349 Snowflake Snow Snowflakes

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

  9. POJ 3349:Snowflake Snow Snowflakes(数的Hash)

    http://poj.org/problem?id=3349 Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K T ...

随机推荐

  1. CruiseControl.NET 的安装与配置

    CC.NET 是 CruiseControl.NET 的简称,官方网站在这里. 官方的定义是自动连续集成服务, 使用Microsoft .NET Framework实现. 另外它还有Java的版本叫做 ...

  2. Java关于反射的用法

    一. 首先是准备一个需要反射的类 public class Person { private String name; private int age; public String sex; publ ...

  3. vsftp服务器搭建

    1.FTP的主动模式和被动模式的区别: 最大的区别是数据端口并不总是20, 主动模式和被动模式的优缺点: 主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利.因为FTP服务器企图与客户端 ...

  4. nginx负载均衡及反向代理

    1.启动,重启,关闭 启动:/usr/local/nginx/sbin/nginx (/usr/local/nginx/sbin/nginx -t 查看配置信息是否正确) 重启:/usr/local/ ...

  5. ROS:ubuntuKylin17.04-Ros使用OrbSLAM2

    忙于图像处理和DCNN,很长时间不使用ROS,重新安装系统后,再次使用ORB-SLAM2(ROS)进行三维重建和实时追踪的演示. 参考以前的文章:ROS:ubuntu-Ros使用OrbSLAM ORB ...

  6. [读书笔记]-技术学习-Redis

    1:Redis概览 Remote Dictionary Server 远程字典服务 Redis是基于内存的存储 在一台普通的笔记本上,Redis每秒的读取速度可以达到10万 内存读取数据,断电的时候数 ...

  7. python排序sorted与sort比较 (转)

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. sorted(iterable,key=None,revers ...

  8. Java通过接口实现匿名类的实例

    package com.chase.test; /** * 通过接口实现匿名类的实例 * * @author Chase * * @date 2013-10-18 下午04:28:17 * * @ve ...

  9. PAT_A1109#Group Photo

    Source: PAT A1109 Group Photo (25 分) Description: Formation is very important when taking a group ph ...

  10. sqlserver系统表使用

    SELECT s.table_catalog as 数据库名, o.name as 表名, c.name as 列名FROM INFORMATION_SCHEMA.TABLES s,--库 sys.o ...