首页 > 其他分享 >P10467 [CCC 2007] Snowflake Snow Snowflakes(Hash)

P10467 [CCC 2007] Snowflake Snow Snowflakes(Hash)

时间:2024-09-13 20:24:12浏览次数:10  
标签:P10467 Hash Snowflakes int typedef long vector vx return

#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
typedef pair<int,int> PII;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef vector<string> VS;
typedef vector<int> VI;
typedef vector<vector<int>> VVI;
vector<int> vx;
inline int mp(int x) {return upper_bound(vx.begin(),vx.end(),x)-vx.begin();}
inline int log_2(int x) {return 31-__builtin_clz(x);}
inline int popcount(int x) {return __builtin_popcount(x);}
inline int lowbit(int x) {return x&-x;}

void solve()
{
	int n;
	cin>>n;
	vector<array<int,6>> a(n);
	set<array<int,6>> s;
	for(int i=0;i<n;++i)
	{
		for(int j=0;j<6;++j)
		cin>>a[i][j];
		for(int j=0;j<6;++j)
		{
			array<int,6> t1,t2; 
			//t1顺时针,t2逆时针
			for(int k=0;k<6;++k)
			{
				t1[k] = a[i][(j+k)%6];
				t2[k] = a[i][(j-k+6)%6];
			}
			if(s.find(t1)!=s.end()||s.find(t2)!=s.end())
			{
				cout<<"Twin snowflakes found.\n";
				return ;
			}
		}
		s.insert(a[i]); 
	}
	cout<<"No two snowflakes are alike.\n";
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T = 1;
	//cin>>T;
	while(T--)
	{
		solve();
	}
}

标签:P10467,Hash,Snowflakes,int,typedef,long,vector,vx,return
From: https://www.cnblogs.com/ruoye123456/p/18412829

相关文章

  • Hash表实践 —— 两数之和
    目录题目背景解题思路题目背景这个题目用常规的双循环就可以完成。但不是最优解。为什么?看看他的步骤数:N=【3,2,4】求结果为6的两个元素坐标如下,1).3+2=5不等于2).3+4=7不等于3).2+4=6等于,获取坐标【1,2】规律:2个数=1个步骤3个数=3个步骤4个数=6......
  • 黑马面试集合(ArrayList, HashMap)篇笔记整理,结尾附Java的集合相关高频面试题及答案
    集合操作数据的特点-算法复杂度分析数据结构算法复杂度分析为什么要进行复杂度分析?指导编写性能更优的代码评判别人写代码的好坏时间复杂度分析时间复杂度分析:来评估代码的执行耗时的假设每行代码的执行耗时一样:1ms分析这段代码一共执行多少行?3n+3......
  • LinkedHashMap原理详解—从LRU缓存机制说起
    写在前面从一道Leetcode题目说起首先,来看一下Leetcode里面的一道经典题目:146.LRU缓存机制,题目描述如下:请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(int......
  • HashMap线程不安全|Hashtable|ConcurrentHashMap
    文章目录常见集合线程安全性HashMap为什么线程不安全?怎么保证HashMap线程安全HashtableConcurrentHashMap引入细粒度锁代码中分析总结小结常见集合线程安全性ArrayList、LinkedList、TreeSet、HashSet、HashMap、TreeMap等都是线程不安全的。HashTable是线程安......
  • HashMap源码分析
    HashMap源码分析在jdk1.8中,HashMap的数据结构如上图所示,是由Node数组+链表/红黑树组成的,每个K-V对保存在一个Node结点中,看一下Node结点的定义,其实就是一个Map.Entry<K,V>的实现类,包括key的hash值,key,value和一个next指针。staticclassNode<K,V>implementsMap.Entry<K,V>{......
  • 树(tree)和哈希算法(Hash)
    树由n个节点组成的有限集。有一个根节点;其他节点只有一个前驱节点,但可以有多个后继节点。叶子节点(终端结点):只有前驱结点没有后继结点结点度:子节点的个数称之为度树的(广)度:树中各节点度的最大值 深度:从根节点到最底层节点的层数森林:n个互不相交的树的集合二叉树:任意一个节点......
  • [ABC250Ex] Trespassing Takahashi
    感觉是很厉害的结论题。题意给你一个带权无向连通简单图\(G=(V,E),|V|=n,|E|=m\)。钦定编号\(1\simk\)的点为关键点。给定\(q\)次询问,每次询问给出\(x,y,t\),表示你需要回答是否存在一条路径,使得从\(x\)出发到\(y\)的路径上相邻两个关键点的距离都不超过\(t\)。保证......
  • [Java并发]Concurrenthashmap的size()
    1.一致性定义关于一致性的定义,大概如下:一致性(Consistency)是指多副本(Replications)问题中的数据一致性。可以分为强一致性、顺序一致性与弱一致性。1.1强一致性(StrictConsistency)强一致性也被可以被称做:原子一致性(AtomicConsistency)线性一致性(LinearizableConsistency)要......
  • HashSet和HashMap
    HashSet源码解析publicHashSet(){map=newHashMap<>();}privatestaticfinalObjectPRESENT=newObject();//这是一个空对象,在HashSet中用来占位,但本质上仍然是HashMappublicbooleanadd(Ee){returnmap.put(e,PRESENT)==null;}......
  • 12-LinkedHashSet
    LinkedHashSetHashSet得到的数据是无序的--->能不能得到的数据是有序的,嫩不能按照输入原序输出?---->LinkedHashSet特点唯一有序(按照输入顺序输出)多了一个总链表,按装入顺序串在一起原理其实就是在HashSet的基础上,多了一个总的链表,这个总链表将放入的元素串在一起,方便有......