poj3349-Snowflake Snow Snowflakes,字符串哈希
来源:互联网 发布:我的淘宝怎么不能直播 编辑:程序博客网 时间:2024/05/17 22:45
点击打开链接
#include <stdio.h>#include <string.h>#include <stdlib.h>const int N = 100005;const int M = 10;const int mod = 100003;int head[N], num, a[M], snow[N][M];struct node{ int pos, next;}e[N];void hash(int val, int pos){ e[num].pos = pos; e[num].next = head[val]; head[val] = num++;}int check(int a, int b){ int i, j; for(i=0; i<6; ++i) { j=0; while(j<6&&snow[a][(i+j)%6]==snow[b][j]) j++; if(j==6) return 1; j=0; while(j<6&&snow[a][5-(i+j)%6]==snow[b][j]) j++; if(j==6) return 1; } return 0;}int readint(){ int res=0,ch; while(!((ch=getchar())>='0'&&ch<='9')) { if(ch==EOF) return 1<<30; } res=ch-'0'; while((ch=getchar())>='0'&&ch<='9') res=res*10+(ch-'0'); return res ;}int find(int n){ int i, j, val, pos; val = ((snow[n][0]+snow[n][2]+snow[n][4])^(snow[n][1]+snow[n][3]+snow[n][5]) )% mod; for(i=head[val]; ~i; i=e[i].next) { pos =e[i].pos; if(check(n, pos)) return 1; } hash(val, n); return 0;}int main(){ int i, j, n, val, pos, flag; while(~scanf("%d", &n)) { flag = 0; num = 0; memset(head, -1, sizeof head ); for(i=1; i<=n; ++i) { for(j=0; j<6; ++j) snow[i][j] = readint(); if(flag) continue; if(find(i)) flag = 1; } if(flag) printf("Twin snowflakes found.\n"); else printf("No two snowflakes are alike.\n"); } return 0;}
0 0
- poj3349-Snowflake Snow Snowflakes,字符串哈希
- poj3349 Snowflake Snow Snowflakes
- POJ3349 Snowflake Snow Snowflakes
- poj3349 Snowflake Snow Snowflakes
- Snowflake Snow Snowflakes poj3349
- poj3349 Snowflake Snow Snowflakes
- POJ3349--Snowflake Snow Snowflakes
- poj3349 Snowflake Snow Snowflakes
- POJ3349-Snowflake Snow Snowflakes
- POJ3349---Snowflake Snow Snowflakes
- poj3349 Snowflake Snow Snowflakes
- POJ3349《Snowflake Snow Snowflakes》方法:哈希函数
- POJ3349--Snowflake Snow Snowflakes--哈希表
- 哈希 poj3349 Snowflake Snow Snowflakes
- POJ3349 Snowflake Snow Snowflakes(hash)
- POJ3349 Snowflake Snow Snowflakes(hash)
- POJ3349 Snowflake Snow Snowflakes 自己写个哈希模板
- poj3349--Snowflake Snow Snowflakes(hash)
- 托福作文笔记
- 关于ul下<li></li>内插入<span>内容</span>标签自动换行不在同一行问题
- 天凉好个秋(连载九)
- Spring 邮件接收发送实例
- ubuntu14 安装: qq
- poj3349-Snowflake Snow Snowflakes,字符串哈希
- 用java正则表达式验证字符串(邮箱与网址)
- Visual C++新建一个工程和调试
- Dll注入的几个注意事项
- windows7系统如何实现AirPrint打印
- vs2010 快捷键大全
- sqlite 批量插入性能
- JMX IN ACTION 第二章
- CoreGraphics画图