http://poj.org/problem?id=3349

题意:

给出n片雪花留个角的长度,要求判断是否有一样的雪花。

思路:

Hash表的应用。

首先将每个雪花所有角的总长计算出来,如果两片雪花相同的话那么总长也是相同的,然后加入vector容器当中,最后遍历vector数组,如果某个总长有大于1的雪花数,则有可能存在相同的雪花,此时需要比较这些雪花。

 #include <iostream>
#include <stdio.h>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
const int maxn = ;
const int prime = ; struct node
{
int len[];
}snow; vector<node>hs[prime]; bool judge(node a, node b)
{
for (int i = ; i<; i++)
{
if (a.len[] == b.len[i] && a.len[] == b.len[(i + ) % ] && a.len[] == b.len[(i + ) % ] &&
a.len[] == b.len[(i + ) % ] && a.len[] == b.len[(i + ) % ] && a.len[] == b.len[(i + ) % ])
return true;//固定a,顺时针比较
if (a.len[] == b.len[i] && a.len[] == b.len[(i + ) % ] && a.len[] == b.len[(i + ) % ] &&
a.len[] == b.len[(i + ) % ] && a.len[] == b.len[(i + ) % ] && a.len[] == b.len[(i + ) % ])
return true;//固定a, 逆时针比较
}
return false;
} int main()
{
//freopen("D:\\txt.txt", "r", stdin);
int n;
cin >> n;
while (n--)
{
for (int i = ; i<; i++)
scanf("%d", &snow.len[i]);
int sum = (snow.len[] + snow.len[] + snow.len[] + snow.len[] + snow.len[] + snow.len[]) % prime;
hs[sum].push_back(snow);
}
for (int i = ; i<prime; i++)
if (hs[i].size()>) //可能有相同的雪花
{
for (int j = ; j<hs[i].size(); j++)
for (int k = j + ; k<hs[i].size(); k++)
{
if (judge(hs[i][j], hs[i][k]))
{
printf("Twin snowflakes found.");
return ;
}
}
}
printf("No two snowflakes are alike.");
return ;
}

UVa 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(简单哈希)

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

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

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

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

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

  5. POJ3349 Snowflake Snow Snowflakes (hash

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

  6. POJ 3349 Snowflake Snow Snowflakes(哈希)

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

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

    题意:每片雪花有六瓣,给出n片雪花,六瓣花瓣的长度按顺时针或逆时针给出,判断其中有没有相同的雪花(六瓣花瓣的长度相同) 思路:如果直接遍历会超时,我试过.这里要用哈希表,哈希表的关键码key用六瓣花瓣 ...

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

    题意:给定n(0 < n ≤ 100000)个雪花,每个雪花有6个花瓣(花瓣具有一定的长度),问是否存在两个相同的雪花.若两个雪花以某个花瓣为起点顺时针或逆时针各花瓣长度依次相同,则认为两花瓣相 ...

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

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

随机推荐

  1. Debugging golang programs

    https://ttboj.wordpress.com/2016/02/15/debugging-golang-programs/ I’ve been writing a lot of golang ...

  2. 流媒体ts/ps流封装/分析

    1.TS 1) 感谢星辰同学,还热乎着,

  3. Scala系统学习(二):Scala开发环境安装配置

    Scala可以安装在任何基于UNIX/Linux或基于Windows的系统上.在您的机器上开始安装Scala之前,必须在计算机上安装Java 1.8或更高版本. 下面请按照以下步骤安装Scala. 步 ...

  4. 复习一下property

    在面向对象程序里,一个对象不要直接访问另一个对象内部的数据.所以我们使用accessor methods来进行对象内部的数据交互. accessor methods(getters and sette ...

  5. Look for the Air Jordan 32 in full family sizing

    Following the release of the 'Rosso Corsa' colorway, Jordan Brand is now set to officially launch th ...

  6. Integer类之equals与hashCode

    一.源码. 1.equals源码.可以看出,比较的是两者的类型相同且内容相同.即是否有相等的int类型的value值. ######################################## ...

  7. linux中的查找命令

    which命令:使用which命令可以看到某个系统命令是否存在,以及执行的到底是哪一个位置上的命令.在PATH指定的路径中进行搜索, 返回第一个搜索结果. which grep /bin/grep   ...

  8. Atcoder Tenka1 Programmer Contest 2019 E - Polynomial Divisors

    题意: 给出一个多项式,问有多少个质数\(p\)使得\(p\;|\;f(x)\),不管\(x\)取何值 思路: 首先所有系数的\(gcd\)的质因子都是可以的. 再考虑一个结论,如果在\(\bmod ...

  9. ac1008

    这题说的是 给了n个点在圆 上 然后 i连 i+2 从i+2 开始连 i+4  然后 这样一直到某个点 已经被连过为止   如果还有的没有被连过 就从那个点开始 连 按照上面的规则 当 N大于6 的时 ...

  10. mybatis项目启动报错 The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collection*,discriminator?)".

    启动项目报错 2018-02-26 17:09:51,535 ERROR [org.springframework.web.context.ContextLoader] - Context initi ...