Snowflake Snow Snowflakes(查找)
http://poj.org/problem?id=3349
题意:给出n组数据,每组数据有六个数,这n组数据中若有两组数据不管是从某个数顺时针读还是逆时针读都相同,输出“Twin snowflakes found.”,否则,输出
"No two snowflakes are alike."
思路:将每组数据求和对大素数取余,将sum相同的放在同一个邻接表中,然后从邻接表中查找符合条件的数据。
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <vector>
using namespace std; const int p=;
const int N=;
int arr[N][];
struct node
{
int sum;
int id;
};
vector<node>v[N];//将每组数据的sum相同放在v[sum]邻接表里; int s_ee(int n,int m)//顺时针查找
{
int i,j;
for (i = ; i < ; i ++)
{
if(arr[n][i]==arr[m][])
{
for (j = ; j < ; j ++)
{
if (arr[n][(i+j)%]!=arr[m][j])
break;
}
if (j >= )
return ;
}
}
return ;
}
int ee_s(int n,int m)//逆时针查找
{
int i,j;
for (i = ; i < ; i ++)
{
if (arr[n][i]==arr[m][])
{
for (j = ; j < ; j ++)
{
if (arr[n][(i+j)%]!=arr[m][-j])
break;
}
if (j >= )
return ;
}
}
return ;
}
int main()
{
int n,flag = ,sum ;
scanf("%d",&n);
for (int i = ; i <= N; i ++)
v[i].clear();//初始化vector
for (int i = ; i < n; i ++)
{
sum = ;
for (int j = ; j < ; j ++)
{
scanf("%d",&arr[i][j]);
sum += arr[i][j];
}
int t = sum%p;
if (!flag)//没有找到相同的两组
{
for (int j = ; j < v[t].size(); j ++)
{
if ((s_ee(v[t][j].id,i))||ee_s(v[t][j].id,i))
{
flag = ;
break;
}
}
if (!flag)
{
v[t].push_back((node){sum,i});//放到邻接表里
}
}
}
if (flag)
printf("Twin snowflakes found.\n");
else
printf("No two snowflakes are alike.\n");
return ;
}
Snowflake Snow Snowflakes(查找)的更多相关文章
- poj 3349:Snowflake Snow Snowflakes(哈希查找,求和取余法+拉链法)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 30529 Accep ...
- [ACM] POJ 3349 Snowflake Snow Snowflakes(哈希查找,链式解决冲突)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 30512 Accep ...
- POJ 3349 Snowflake Snow Snowflakes(简单哈希)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 39324 Accep ...
- Snowflake Snow Snowflakes(哈希表的应用)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 27312 Accep ...
- POJ 3349 Snowflake Snow Snowflakes
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 27598 Accepted: ...
- POJ 3349:Snowflake Snow Snowflakes(数的Hash)
http://poj.org/problem?id=3349 Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K T ...
- 哈希-Snowflake Snow Snowflakes 分类: POJ 哈希 2015-08-06 20:53 2人阅读 评论(0) 收藏
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 34762 Accepted: ...
- [poj3349]Snowflake Snow Snowflakes(hash)
Snowflake Snow Snowflakes Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 37615 Accepted: ...
- POJ--3349 Snowflake Snow Snowflakes(数字hash)
链接:Snowflake Snow Snowflakes 判断所有的雪花里面有没有相同的 每次把雪花每个角的值进行相加和相乘 之后hash #include<iostream> #incl ...
随机推荐
- Python之操作Excel、异常处理、网络编程
知识补充: 1.falsk模块中一些方法总结 import flask from flask import request,jsonify server = flask.Flask(__name__) ...
- MFC CAD控制权问题
begineditorcommand(); 隐藏对话框 把控制权交给CAD completeeditorcommand(); 完成交互返回到应用程序 canceleditorcommand CAD被 ...
- android studio 创建第一个app之hello world
android studio 创建第一个app之hello world 想要用studio创建一个简单的app,结果遇到各种问题,application就是允许不起来,后来在专业人的帮助下,删除了一些 ...
- yum插件
参考文章: http://www.linuxfly.org/post/297/ [root@dnstest07.tbc /home/ahao.mah] #rpm -qa |grep yum yum-p ...
- C++编写谷歌日历
#include<iostream> #include<fstream> using namespace std; void main() //程序从这里开始运行 { int ...
- input chrome下输入之后背景变为黄色的解决办法
之所以Input输入之后背景原因色变为可恶的黄色,是因为在chrome 下input加上了input:-webkit-autofill这个属性,里面写的就是这个问题出现的原因 代码就是:input:- ...
- IDEA git commit push revert
Revert uncommitted changes You can always undo the changes you've done locally before you have commi ...
- scrapy——8 scrapyd使用
scrapy——8 scrapyd使用 什么是scrapyd 怎么安装scrapyd 如何使用scrapyd--运行scrapyd 如何使用scrapyd--配置scrapy.cfg 如何使用s ...
- 【Codeforces 349B】Color the Fence
[链接] 我是链接,点我呀:) [题意] 让你组成一个只由1~9组成的数字 每个数字需要的paint数字给定. 让你组成一个最大的数字,且所有数字的paint的总和不超过v. [题解] 先求出a中的最 ...
- 【Codeforces 522A】Reposts
[链接] 我是链接,点我呀:) [题意] 有人转载官方号的动态. 又有其他人转载其他人转载的动态. 问你最长的一条转载动态的链有多长. [题解] 用map把每个人的英文都转成小写的 然后从map中获取 ...