nyoj 130相同的雪花

利用图层自动识别算法实现CAD到Revit BIM模型的高效转换 - VS2022与AutoCAD2024开发环境配置指南 本文详细介绍了如何配置VS2022与AutoCAD2024开发环境,并利用图层自动识别算法实现CAD图纸到Revit BIM模型的高效自动化转换。通过解析CAD图层的规律性,该算法能智能识别并分类墙、门、窗等构件,提取几何信息并驱动Revit自动创建三维模型,从而将传统繁琐的人工“翻模”工作转化为高效、准确的自动化流程,大幅提升BIM模型创建效率。 阅读详情

题目大意:有多组测试数据,每组有多组数组,每组有六个数,判断是否含有两组一样的数据(六个数围成圈,看看能否重合)

 

思路:由于是判断一个集合中是否存在相同的元素,很容易就想到了SET:集合,而java里面给我们提供了HashSet这种数据

结构,HashSet也是依据hash表的思想设计的,不清楚的可以上网了解一下HashSet的用法,在判断是否含有两个相同的雪花的时候,

用一个for循环,循环6次,每次都是左右比较一下!!!

 

上码:

 

<pre name="code" class="java">import java.io.BufferedInputStream;
import java.util.HashSet;
import java.util.Scanner;

public class Main {
	private static class Snowflake {// 内部类,也相当于是Main的一个成员变量,所以要写成static,我也是学习了!!
		private int[] arr;

		public Snowflake(int... args) {// >=0
			arr = new int[6];
			System.arraycopy(args, 0, arr, 0, args.length);// 数组拷贝方法,真好用,具体的请看api
		}

		// hashset的设计结构是遵循哈希表的,它在计算映射地址和处理冲突的依赖的是hashCode和equals方法!!!
		// 重写hashCode()和equals()!!!
		@Override
		public int hashCode() {
			int hash = 0;
			for (int i : arr) {
				hash += i;
			}// 以一个雪花的六个边为它的hashcode,因为要是和不等,两个雪花肯定不等!!!
			return hash;// hashcode%hs.size()得到雪花的映射地址
		}

		@Override
		public boolean equals(Object obj) {// 只有两个雪花的每个边都是相等的,才认为两个雪花是相等的
			Snowflake s = (Snowflake) obj;
			for (int i = 0; i < 6; i++) {
				if ((arr[i] == s.arr[0] && arr[(i + 1) % 6] == s.arr[1]
						&& arr[(i + 2) % 6] == s.arr[2]
						&& arr[(i + 3) % 6] == s.arr[3]
						&& arr[(i + 4) % 6] == s.arr[4] && arr[(i + 5) % 6] == s.arr[5])
						|| (arr[i] == s.arr[0]
								&& arr[(i - 1 + 6) % 6] == s.arr[1]
								&& arr[(i - 2 + 6) % 6] == s.arr[2]
								&& arr[(i - 3 + 6) % 6] == s.arr[3]
								&& arr[(i - 4 + 6) % 6] == s.arr[4] && arr[(i - 5 + 6) % 6] == s.arr[5])) {
					return true;// 六个循环,每次都比较顺时针和逆时针!!!,求余运算很牛掰!!!有木有!!!
				}
			}
			return false;
		}
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(new BufferedInputStream(System.in));

		int cases, n;
		boolean flag;// 是否已经找到的标志
		HashSet<Snowflake> hs;
		cases = sc.nextInt();

		while (cases-- > 0) {
			n = sc.nextInt();
			flag = false;// 是否含有两个相同的雪花
			hs = new HashSet<Snowflake>(150000);// 哈希表的研究结果,当装载因子为0.75时,效率比较高!!!
			while (n-- > 0) {
				Snowflake s = new Snowflake(sc.nextInt(), sc.nextInt(),
						sc.nextInt(), sc.nextInt(), sc.nextInt(), sc.nextInt());// int...
																				// args这种写法可以接受0到n个元素的数组!!!,学习了
				if (!flag) {// 没找到,接着找
					if (hs.contains(s)) {// 包含了
						flag = true;
					} else {// 还有没当前雪花,加进去
						hs.add(s);
					}
				}
			}
			if (flag) {
				System.out.println("Twin snowflakes found.");
			} else {
				System.out.println("No two snowflakes are alike.");
			}
		}
		sc.close();
	}
}
<pre name="code" class="java">HashSet的逻辑结构:






   

好好学习,码出人生的精彩!

【局部规划模块曲线算法】曲线平滑介绍 本文先对轨迹平滑问题做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容(1)适合给移动机器人运动的路径【满足运动学,高阶平滑】(2)高阶的运动学不能够突变的【至少三阶的加速度不能突变,最好四阶的jerk和五阶的snap也不能突变】(3)在转弯的地方不会停下来(4)加减速均衡,节省能量(5)节省时间的。 阅读详情

相关推荐

实战经验:Sensor Bringup中那些坑我都帮你踩过了(避坑指南)

本文是一份详尽的Sensor Bringup实战避坑指南,总结了从I2C通信、MCLK时钟、电源管理到图像异常等关键环节的常见问题与排查方法。文章提供了系统化的调试工作流,强调先硬件后软件的排查原则,旨在帮助硬件工程师快速定位并解决Sensor启动过程中的难题,提升开发效率。

weixin_29212429的博客 574

poj3349找相同的雪花(哈希)

题目传送门题目大意:给你n个雪花,每个雪花的六个棱都有各自的长度,如果存在两片雪花的每条棱长度对应相同,则输出一句英文,如果不存在就输出另外一句英文,n和长度都比较大。思路:第一次真正接触哈希,查了题解,还没能通过这道题get到哈希的精髓。这道题是把雪花的六个长度加起来取模的值作为哈希值,然后把拥有相同哈希值的雪花归为一类,每一次输入新的雪花,就先找到它...

weixin_30622107的博客 486

从零开始:PLUMED与GROMACS整合安装全攻略

本文详细介绍了如何从零开始整合安装PLUMED与GROMACS,包括系统环境检查、MPI配置、PLUMED编译安装、GROMACS补丁应用及常见问题解决方案。通过本教程,研究人员可以快速完成分子动力学模拟工具的整合安装,实现增强采样和自由能计算功能。

weixin_42520796的博客 292

相同的雪花//和poj3349差不多

相同的雪花 时间限制: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 re...

weixin_30553777的博客 265

Labelme安装教程(附Anaconda安装教程)

本文详细介绍了如何安装Anaconda和Labelme,还提供了常见问题的解决建议。

HanYan_ing的博客 1万+

OFDM基本原理

OFDM基础介绍,包括OFDM的核心思想,数学推导了OFDM信号的调制解调过程。

伊丽莎白的学习之路 8906

相同的雪花(哈希)

#include #include #include #include using namespace std; const int N=19373; const int M=100; int a[6]; int l[N]; int hash[N][M][6]; bool Judge(int *a, int *b) //判断雪花形状是否相同(即可以将对应的棱角重合) { int i

???的博客 835

六维力传感器选型指南:电阻式vs电容式,哪个更适合你的工业场景?

本文深入解析六维力传感器在工业自动化中的选型要点,重点对比电阻式与电容式传感器的核心原理、环境适应性及成本结构。针对不同工业场景(如高精度装配、重载机器人等),提供专业选型建议,帮助工程师优化系统性能与经济效益。

weixin_42525005的博客 395

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

狂飙的蜗牛 的专栏 1078

Android7以上抓取https数据包-无需root

手机内装一个虚拟机,然后在虚拟机内运行我需要抓包的应用,该虚拟机内是不需要证书验证的。完美解决android7.0以上https无法抓包的问题。

qq_45764684的博客 1454

SAP-ABAP:BAPI_INSPOPER_RECORDRESULTS 记录检验操作结果更新检验批状态详细解析

SAP-ABAP:BAPI_INSPOPER_RECORDRESULTS 记录检验操作结果更新检验批状态详细解析

baidu_35680696的博客 964

nyoj 130 相同的雪花

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

一点一滴 1832

【DEIM创新改进】全网首发、独家特征融合创新改进篇 | CVPR2025 | 引入RLAB残差线性注意力特征融合块,有效融合并强调多尺度特征,有效减少信息丢失,助力DEIM目标检测有效涨点

本文提出了一种改进DEIM网络模型的新方法RLAB(残差线性注意力特征融合模块),用于医学图像生物标志物分割。RLAB模块通过多尺度残差精炼和注意力机制,有效整合编码器跳跃连接与解码器特征图,提升特征对齐和关键区域关注能力。实验表明,该方法在MoNuSeg、DSB等四个医学图像数据集上显著优于现有方法,最高提升4.03%的绝对性能。文章详细介绍了RLAB的网络结构、核心代码实现方式,并提供了将模块集成到DEIM模型的具体步骤。

Ai缝合怪、助力小伙伴高效发论文 349

NYOJ130 相同的雪花

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

kay_zhyu的专栏 994

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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 相同的雪花(哈希)

思路:以每组的和为key对每片雪花进行哈希,然后从和相等的雪花里进行匹配。 注意雪花的匹配顺序可以顺时针也可以逆时针 #include #include #include #include using namespace std; const int MAXN = 100001;//最大数量 const int MOD = 100000;//最大编号 struct snow{

qq_35562816的博客 539

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

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 相同的雪花

相同的雪花 时间限制: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 program wil...

weixin_30542079的博客 125

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

LiQiyao的博客 847

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 program w

长风的专栏 1781

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相同的雪花(排序后比较)

相同的雪花 时间限制: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

z956281507的博客 585
上一篇: NYOJ 228 士兵杀敌(五)
下一篇: nyoj 129树的判定
_低头的麦穗
博客等级 码龄12年 4粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值