NYOJ 题目130 相同的雪花 (哈希表)

ROS相机内参标定详细步骤指南 相机标定的目的是为了确定相机内部参数和外部参数,以便修正图像并将图像坐标映射到世界坐标,或者从世界坐标映射到图像坐标。这个过程是计算机视觉和三维感知任务的关键步骤之一,它有以下主要目的: 1. **减小畸变**:相机镜头和传感器可能引入径向和切向畸变,使得图像中的直线变得弯曲或者物体的形状不准确。通过标定相机,可以矫正这些畸变,使图像更准确。 阅读详情

相同的雪花

时间限制:1000 ms  |  内存限制:65535 KB
难度:4
描述
You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your program will read information about a collection of snowflakes, and search for a pair that may be identical. Each snowflake has six arms. For each snowflake, your program will be provided with a measurement of the length of each of the six arms. Any pair of snowflakes which have the same lengths of corresponding arms should be flagged by your program as possibly identical.
输入
The first line of the input will contain a single interger T(0<T<10),the number of the test cases.
The first line of every test case will contain a single integer n, 0 < n ≤ 100000, the number of snowflakes to follow. This will be followed by n lines, each describing a snowflake. Each snowflake will be described by a line containing six integers (each integer is at least 0 and less than 10000000), the lengths of the arms of the snow ake. The lengths of the arms will be given in order around the snowflake (either clockwise or counterclockwise), but they may begin with any of the six arms. For example, the same snowflake could be described as 1 2 3 4 5 6 or 4 3 2 1 6 5.
输出
For each test case,if all of the snowflakes are distinct, your program should print the message:
No two snowflakes are alike.
If there is a pair of possibly identical snow akes, your program should print the message:
Twin snowflakes found.
样例输入
1
2
1 2 3 4 5 6
4 3 2 1 6 5
样例输出
Twin snowflakes found.

题意:给出若干行每行6个数字,判断这六个数字是否相同并且将六个数字绕成环后是一个相同的环。

思路:把6个数字求和,因为和太大,所以用和对一个较大的数字取余,取余后的数作为哈希表的KEY。每次输入一个数,求出该数对应的KEY,然后去哈希表中找,若有相同的,则flag=1。

代码如下:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#define N 100007
using namespace std;
typedef struct {
	int a[6];
	int sum;
}node;
vector<node> v[N];//用不定长数组做哈希表 
bool cmp(node x,node y){
	int i;
	int t[12];
	if(x.sum != y.sum)return 0;//如果合不一样,即冲突,就返回0 
	for(i=0;i<6;i++){
		t[i]=x.a[i];
		t[i+6]=x.a[i];
	}
	for(i=0;i<6;i++){//顺方向判断 
		if(t[i]==y.a[0]&&t[i+1]==y.a[1]&&t[i+2]==y.a[2]&&t[i+3]==y.a[3]&&t[i+4]==y.a[4]&&t[i+5]==y.a[5])
		return 1;
	}
	for(i=11;i>5;i--){//反方向判断 
		if(t[i]==y.a[0]&&t[i-1]==y.a[1]&&t[i-2]==y.a[2]&&t[i-3]==y.a[3]&&t[i-4]==y.a[4]&&t[i-5]==y.a[5])
		return 1;
	}
	return 0;
}
int main(){
	int cases,i,j,n,flag;
	cin>>cases;
	while(cases--){
		flag=0;
		for(i=0;i<=N;i++)
		v[i].clear();//初始化 
		cin>>n;
		for(i=1;i<=n;i++){
			node temp;
			scanf("%d%d%d%d%d%d",&temp.a[0],&temp.a[1],&temp.a[2],&temp.a[3],&temp.a[4],&temp.a[5]);
			temp.sum = temp.a[0]+temp.a[1]+temp.a[2]+temp.a[3]+temp.a[4]+temp.a[5];
			for(j=0;j<v[temp.sum%N].size();j++){
				if( cmp(v[temp.sum%N][j] , temp) ){//判断哈希表中是否有一样的雪花 
					flag=1;
					break;
				}
			}
			if(flag==0){//如果没有,加入对应的哈希表 
				v[temp.sum%N].push_back(temp);
			}
		}
		if(flag)cout<<"Twin snowflakes found."<<endl;
		else cout<<"No two snowflakes are alike."<<endl;
	}
	return 0;
}

免费AI视频生成全流程:通义千问+Seedance 2.5+Grok实战指南 AI视频生成正在成为内容创作的重要方式,但高昂的API费用常让个人创作者望而却步。实际上,通过合理组合云端免费工具,也能搭建一条完整的视频生产链路:利用大模型生成脚本,用视频生成模型将文本渲染成画面,再借助多模态模型进行一致性校验。这种“文本+视频+多模态”的协作模式,将复杂的生成任务解耦为可独立调用的模块,既降低了本地硬件要求,也为批量内容验证提供了低成本方案。该流程适用于短视频素材快速产出、产品Demo验证以及AI应用集成等场景,核心在于打通免费账号、API调用与批量任务调度。本文以通义千问、Seeda 阅读详情

相关推荐

智能排班考勤系统原型

可实现从业务预测,到工时预估,再到人员分配全流程自动智能排班。可应用于客服行业或工厂的智能排班系统。

gywm15111336483的专栏 995

世界上有2片相同的雪花吗

. 世界上有2片相同的雪花吗 【题目来源】3349 -- Snowflake Snow Snowflakes (poj.org) Description You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your program will read information about a colle

m0_63168183的博客 667

AI:Coze、Dify、n8n:三款低代码工具如何选?

Coze、Dify、n8n:三款低代码工具如何选?

Kant2048的博客 2806

xynuoj 1897 相同的雪花

1897: 相同的雪花时间限制: 1 Sec  内存限制: 64 MB[提交][状态][讨论版]题目描述You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your program will rea...

Dear_Jia的博客 445

开源代码分享(29)-基于拉丁超立方抽样的风光场景生成和削减

作为分层抽样方法的一 种,拉丁超立方抽样具有良好的抽样精度和效率[14]。本文使用多场景方法来描述可再生能源(风电、光伏)的不确定性。以风电功率为例,首先假定风电功率服从正态分布 N(μ, δ 2 ),μ 为预测值的期望值,δ 为其波动的百分比。接着,采用拉丁超立方抽样[21]生成大量服从概率分布约束的风电出力场景,并采用考虑 Kantorovich 距离[22]的场景削减技术处理该场景,进行场景削减。最后,导出具有相应概率的削减之后的场景。

配电网和matlab的博客 923

VMware ESXi +DELL虚拟化存储磁盘容量处于紧急状态问题的处理

1、环境介绍 exsi server两台(DELL R730 ): 192.168.3.206 VMware EXSi6.5 192.168.3.207 VMware EXSi6.5 磁盘存储柜一台(DELL SC2000): 192.168.3.208 2、故障处理 由于前期规划的卷空间过大,虚拟机文件逐年增大以后,造成卷的磁盘占用过与整个磁盘空间的容量,虚拟化平台可用容量爆掉,DELL SC2000自动切换到紧急状态,禁止所有磁盘I/O,exsi主机上的虚拟机无法开机 首先,安装

wolf1105的博客 3531

java蓝桥杯练习 幸运数

java蓝桥杯练习 幸运数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。 首先从1开始写出自然数1,2,3,4,5,6,… 1 就是第一个幸运数。 我们从2这个数开始。把所有序号能被2整除的项删除,变为: 1 _ 3 _ 5 _ 7 _ 9 … 把它们缩紧,重新记序,为: 1 3 5 7 9 … 。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是序号位置,不是那个数本身能否被3整除!! 删除

kobe_cb的博客 877

Zephyr 开发必备技能:一文搞懂 west manifest

本文深入解析Zephyr项目的westmanifest工具与Manifest文件管理,从基础概念到高级应用。文章首先介绍westmanifest作为Zephyr模块化架构的核心工具,负责管理west.yml文件中的模块信息、Git地址及版本控制。随后详细讲解Manifest文件的基本结构、字段含义,以及westmanifest子命令的使用方法,包括查看内容、冻结版本、验证文件等操作。文章还探讨了Manifest的导入继承机制和在团队协作中的版本管理策略,并给出常见问题排查技巧。最后强调Manifest文件作

hemoparrot的专栏 1256

3105 Problem B 基础排序III:归并排序

问题 B: 基础排序III:归并排序 [命题人 : 外部导入] 时间限制 : 3.000 sec 内存限制 : 128 MB 题目描述 归并排序是一个时间复杂度为O(nlogn)的算法,对于大量数据远远优于冒泡排序与插入排序。 这是一道排序练习题,数据量较大,请使用归并排序完成。 输入 第一行一个数字n,代表输入的组数 其后每组第一行输入一个数字m,代表待排序数字的个数 其后m行每行一个数据,大...

qq_42640983的博客 192

2026年海能达嵌入式岗位面试题集(含参考答案)

本文总结了嵌入式系统开发中的常见面试题,涵盖项目经验、外设接口、存储系统、编程基础、操作系统等核心模块。主要内容包括:1)项目核心经历的硬件/软件架构及问题解决思路;2)SPI、I2C等接口协议的时序特点与应用要点;3)NAND Flash存储管理中的ECC校验原理和文件系统对接方案;4)USB设备枚举流程等关键知识点。这些题目针对嵌入式岗位的技术考察重点,既包含底层硬件接口细节,也涉及系统级设计与优化策略,全面考察开发者的嵌入式系统能力。

Open 359

淘宝滑块验证码破解:Python模拟鼠标轨迹过关详解

本文全面解析了淘宝滑块验证码的破解流程,从机制分析、图像处理、轨迹模拟到自动化实现,提供了完整的Python解决方案。随着2026年风控技术的升级,单纯依靠轨迹模拟已经难以达到高通过率,未来趋势是结合强化学习生成更自然的轨迹,并利用深度神经网络进行端到端的验证码绕过。此外,各大平台正逐步推广"无感验证"和"行为式验证码",将验证融入到用户正常操作中,这对爬虫技术提出了更高的挑战。技术本身是中立的,关键在于使用者的目的。希望本文能帮助开发者更好地理解验证码对抗技术,从而设计出更安全的防御系统。

2201_76125261的博客 96

POJ 3349 (hash)

Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 20772   Accepted: 5426 Description You may have heard that no two snowflakes are

Canon of Code 823

SAP MM模块后续借记、后续贷记、贷方凭证简介

在SAP系统中,后续借记、后续贷记和贷方凭证是处理供应商发票、采购和付款过程中常见的财务交易。

我小时候很黑的博客 3269

nyoj 130相同的雪花

题目大意:有多组测试数据,每组有多组数组,每组有六个数,判断是否含有两组一样的数据(六个数围成圈,看看能否重合)   思路:由于是判断一个集合中是否存在相同的元素,很容易就想到了SET:集合,而java里面给我们提供了HashSet这种数据 结构,HashSet也是依据hash表的思想设计的,不清楚的可以上网了解一下HashSet的用法,在判断是否含有两个相同的雪花的时候, 用一个for循

ghw_study的专栏 750

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

nyoj 130 相同的雪花

题目连接:http://acm.nyist.net/JudgeOnline/problem.php?pid=130 题意:一个雪花有六个角,每个角对应一个值,给出N个雪花,问能不能是否存在两片相同的雪花(给出的角可能是逆序的); 解题思路:由于有很多雪花,因此数据很大,如果单

一点一滴 1832

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

nyoj 130 相同的雪花 【哈希】

相同的雪花 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your program w

shengweisong 1475

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

nyoj130 相同的雪花 排序 哈希表

相同的雪花时间限制:1000 ms  |  内存限制:65535 KB难度:4描述You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your program will read informati...

popcjz的博客 1443

NYOJ130 相同的雪花

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=130 题目分析: 很明显这道题的数据量很大,所以不可能进行两两的判断,所以需要将可能相同的数据映射到一个集合中,然后在可能相同的数据集合中进行两两比较。如果两组数据六个数的和相同,那么就有可能是相同的雪花。但是六个数的和可能比较大,怎么把它们分开呢,那只能建立一个hash表,然后通过m

kay_zhyu的专栏 994

NYOJ 130 相同的雪花 (Hash)

题目130 题目信息 运行结果 本题排行 讨论区 相同的雪花 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述You may have heard that no two snowflakes are alike. Your task is to write a program to determine wheth

MADE_Y 636

nyoj130 相同的雪花(hash)

相同的雪花 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your progra...

angtongyou1893的博客 210

NYOJ 130 相同的雪花

相同的雪花 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your program w

柚的个人技术博客 1196

NYOJ 130相同的雪花(哈希)

相同的雪花 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your program w

Merry_hj的博客 595

nyoj-130-相同的雪花(hash)

题目链接 /* Name:NYOJ-130-相同的雪花 Copyright: Author: Date: 2018/4/14 15:13:39 Description: 将雪花各个分支上的值加起来,hash */ #include <iostream> #include <vector> #inc...

weixin_30746117的博客 189

nyoj 130 相同的雪花 || poj 3349 Snowflake Snow Snowflakes

题意:给定n片雪花(0 注意事项 1->雪花可以翻转、向左(右)移动,例如 1 2 3 4 5 6 4 3 2 1 6 5 是符合的。 2->直接枚举会超时,可以利用哈希表雪花离散化,不必一个一个查之前的雪花。 3->先查找,确定该雪花不存在再把该雪花插入哈希表,有两种方案,第一,把每个雪花转六下,分别在哈希里面找,然后翻转,把每个雪花转六下,分别在哈希里面找,最后在两种状态插

chen_lin111的专栏 849

nyoj 130 同样的雪花 【哈希】

同样的雪花 时间限制:1000ms | 内存限制:65535KB 难度:4 描写叙述You may have heard that no two snowflakes are alike. Your task is to write a program to determine whether this is really true. Your...

weixin_30481087的博客 80
上一篇: NYOJ 题目239 月老的难题 (二分图最大匹配-匈牙利算法模板)
下一篇: NYOJ 613 HDU 1173 免费馅饼 (动态规划)
LiQiyaoo
博客等级 码龄11年 337粉丝 206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值