nyoj 130相同的雪花

AlphaFold-multimer实战:从零开始预测STAT1-STAT2蛋白复合物结构 本文详细介绍了使用AlphaFold-multimer从零开始预测STAT1-STAT2蛋白复合物结构的完整实战流程。内容涵盖环境配置、数据库准备、序列处理、参数优化及结果可信度评估,为研究者利用这一AI工具进行复合物结构预测提供了系统指南和深度解析。 阅读详情

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

 

思路:由于是判断一个集合中是否存在相同的元素,很容易就想到了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的逻辑结构:






   

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

SDFCOM_SWC警告深度剖析:从assign短路到时序标注失效的链路追踪 本文深入剖析了SDFCOM_SWC警告的根源,从assign短路到时序标注失效的全链路追踪。通过分析RTL设计中的assign语句陷阱、综合阶段的优化变形以及PrimeTime生成SDF文件的视角,提出了重构RTL设计、警告抑制和SDF生成优化等解决方案,帮助工程师有效避免时序标注问题。 阅读详情

相关推荐

Telegram 担保交易系统搭建指南:安全可靠的交易流程实现

本文介绍了基于Telegram Bot API搭建担保交易系统的完整方案。该系统通过第三方资金托管机制解决买卖双方信任问题,支持"付款后发货"和"收货后放款"的交易流程。文章详细阐述了系统架构设计,包括Telegram Bot交互层、后端业务逻辑层、数据库层和支付接口层。核心实现步骤涵盖:1)订单创建模块处理交易信息;2)支付处理模块集成Stripe Escrow实现资金托管;3)确认收货模块完成资金划转。系统采用PostgreSQL存储交易数据,并通过FastAPI

jingpide9527的博客 1947

poj3349找相同的雪花(哈希)

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

weixin_30622107的博客 486

二叉树的操作之统计二叉树中节点的个数

一,问题描述 给定一颗二叉树,已知其根结点。 ①计算二叉树所有结点的个数 ②计算二叉树中叶子结点的个数 ③计算二叉树中满节点(度为2)的个数   二,算法分析 找出各个问题的基准条件,然后采用递归的方式实现。 ①计算二叉树所有结点的个数 1)当树为空时,结点个数为0,否则为根节点个数 加上 根的左子树中节点个数 再加上 根的右子树中节点的个数 借助遍历二叉树的思路,每访问一个结...

weixin_34200628的博客 4567

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

S32DS IDE调试技巧:如何用Attach功能高效定位汽车电子MCU的Bootloader问题

本文详细介绍了在汽车电子MCU开发中,如何利用S32DS IDE的Attach调试模式高效定位Bootloader与应用程序的协同问题。通过对比常规调试与Attach模式的本质差异,并深入讲解工程配置、镜像合并及实战调试流程,帮助开发者在不复位、不重新下载程序的前提下,实时分析系统状态,快速解决内存映射冲突、中断向量表重定向等疑难杂症。

weixin_29168393的博客 265

光伏5G多合一融合终端|光伏多合一融合终端|光伏多合一群调群控网关|分布式光伏群控群调|光伏AGC/AVC系统这几者之间什么技术关系,多少钱一套预算?

RCL-0923光伏电站电压\功率自动控制装置(光伏AVC/AGC),能够接收调度DMS下发的调节目标(电压或无功),按既定策略的调节目标计算光伏电站无功功率出力需求,支持总有、无功,最大可调范围、逆变器个数等数据的上送,通过选择控制设备并进行无功功率出力分配,并将最终控制指令自动下达给被控制设备,最终实现光伏电站无功功率控制,实现无功功率、并网点电压的监测和控制,跟踪调度中心下发的电压或无功调节目标值,实现分布式电源的可观可测,可调可控。光伏5G多合一融合终端的功能:群调群控/AGC/AVC功能。

分布式DTU物联网DTU 2604

相同的雪花(哈希)

#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

浏览器主页被2345劫持简单处理方法

本人比较常用的浏览器是IE和Chrome IE: 将网址修改为https://www.baidu.com 应用-确定-重新打开IE浏览器 或者win+r运行regedit打开注册表找到这个值   HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main下  和HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Main这个下面的StartPage ...

A soul tortured by desire 2万+

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

[DDR5] 模式寄存器 Mode Register MRR/MRW

模式寄存器用于定义各种操作模式。在初始化过程中,可以通过重新执行MRS命令来更改模式寄存器的内容。

串起点滴 1637

GEE:面对对象土地利用分类(结合SNIC、GLCM 和机器学习算法)

本文将介绍在Google Earth Engine中结合SNIC、GLCM和机器学习算法的的土地利用/土地覆盖(LULC)分类方法。结果如下图所示,

养乐多的博客 5614

nyoj 130 相同的雪花

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

一点一滴 1832

OV5645摄像头原理图设计,已量产

在嵌入式视觉项目里,摄像头小板真正决定量产稳定性的,往往不是把传感器接出来这件事本身,而是电源域有没有拆清、参考时钟够不够干净、主板调试时有没有留出可落地的接口。ATK-MC5645 这张原理图的价值,就在于它没有把 OV5645 裸接到一排连接器上,而是把 AFVDD_2V8、DOVDD_1V8、DVDD_1V5、24MHz 时钟和 MIPI/控制信号都收敛在一块独立模组上。

不脱发的程序猿 329

NYOJ130 相同的雪花

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

kay_zhyu的专栏 994

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

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

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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、付费专栏及课程。

余额充值