青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

poj3349

Snowflake Snow Snowflakes

Time Limit: 4000MS Memory Limit: 65536K
Total Submissions: 22730 Accepted: 5923

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 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.

Input

The first line of input 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.

Output

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.

Sample Input

2
1 2 3 4 5 6
4 3 2 1 6 5

Sample Output

Twin snowflakes found.
 
忽然發(fā)現(xiàn)自己已經(jīng)好長(zhǎng)時(shí)間沒(méi)寫(xiě)過(guò)hash的題目了
這題寫(xiě)了半天,覺(jué)著寫(xiě)的特別混亂,然后刪掉重新寫(xiě)
這樣看起來(lái)簡(jiǎn)單多了
用的直接相加求和模大質(zhì)數(shù)的hash
#include <cstdio>
#include 
<cstdlib>
#include 
<cstring>
#include 
<cmath>
#include 
<ctime>
#include 
<cassert>
#include 
<iostream>
#include 
<sstream>
#include 
<fstream>
#include 
<map>
#include 
<set>
#include 
<vector>
#include 
<queue>
#include 
<algorithm>
#include 
<iomanip>
#define maxn 100001
#define bp 999983
using namespace std;
struct node
{
    
int x[6];
    
int next;
}
 s[maxn],tmp;
int sec;
struct node2
{
    
int x[6];
    
void init()
    
{
        
for(int i=0; i<6; i++) scanf("%d",&x[i]);
    }

}
 a[maxn];
int n;
int head[1000001];
bool flag[1000001];
int hs;
inline 
int hash(node2 t)
{
    
return (t.x[0]%bp+t.x[1]%bp+t.x[2]%bp+t.x[3]%bp+t.x[4]%bp+t.x[5]%bp)%bp;
}

void add(int hhh,node t)
{
    s[sec]
=t;
    s[sec].next
=head[hhh];
    head[hhh]
=sec++;
}

bool pans(node t1,node t2)
{
    
if(t1.x[0]==t2.x[0]&&t1.x[1]==t2.x[1]&&t1.x[2]==t2.x[2]&&t1.x[3]==t2.x[3]&&t1.x[4]==t2.x[4]&&t1.x[5]==t2.x[5]) return 1;
    
if(t1.x[0]==t2.x[1]&&t1.x[1]==t2.x[2]&&t1.x[2]==t2.x[3]&&t1.x[3]==t2.x[4]&&t1.x[4]==t2.x[5]&&t1.x[5]==t2.x[0]) return 1;
    
if(t1.x[0]==t2.x[2]&&t1.x[1]==t2.x[3]&&t1.x[2]==t2.x[4]&&t1.x[3]==t2.x[5]&&t1.x[4]==t2.x[0]&&t1.x[5]==t2.x[1]) return 1;
    
if(t1.x[0]==t2.x[3]&&t1.x[1]==t2.x[4]&&t1.x[2]==t2.x[5]&&t1.x[3]==t2.x[0]&&t1.x[4]==t2.x[1]&&t1.x[5]==t2.x[2]) return 1;
    
if(t1.x[0]==t2.x[4]&&t1.x[1]==t2.x[5]&&t1.x[2]==t2.x[0]&&t1.x[3]==t2.x[1]&&t1.x[4]==t2.x[2]&&t1.x[5]==t2.x[3]) return 1;
    
if(t1.x[0]==t2.x[5]&&t1.x[1]==t2.x[0]&&t1.x[2]==t2.x[1]&&t1.x[3]==t2.x[2]&&t1.x[4]==t2.x[3]&&t1.x[5]==t2.x[4]) return 1;
    
return 0;
}

bool pann(node t1,node t2)
{
    node tmp1;
    
for(int i=0;i<6;i++) tmp1.x[i]=t1.x[5-i];    
    
if(tmp1.x[0]==t2.x[0]&&tmp1.x[1]==t2.x[1]&&tmp1.x[2]==t2.x[2]&&tmp1.x[3]==t2.x[3]&&tmp1.x[4]==t2.x[4]&&tmp1.x[5]==t2.x[5]) return 1;
    
if(tmp1.x[0]==t2.x[1]&&tmp1.x[1]==t2.x[2]&&tmp1.x[2]==t2.x[3]&&tmp1.x[3]==t2.x[4]&&tmp1.x[4]==t2.x[5]&&tmp1.x[5]==t2.x[0]) return 1;
    
if(tmp1.x[0]==t2.x[2]&&tmp1.x[1]==t2.x[3]&&tmp1.x[2]==t2.x[4]&&tmp1.x[3]==t2.x[5]&&tmp1.x[4]==t2.x[0]&&tmp1.x[5]==t2.x[1]) return 1;
    
if(tmp1.x[0]==t2.x[3]&&tmp1.x[1]==t2.x[4]&&tmp1.x[2]==t2.x[5]&&tmp1.x[3]==t2.x[0]&&tmp1.x[4]==t2.x[1]&&tmp1.x[5]==t2.x[2]) return 1;
    
if(tmp1.x[0]==t2.x[4]&&tmp1.x[1]==t2.x[5]&&tmp1.x[2]==t2.x[0]&&tmp1.x[3]==t2.x[1]&&tmp1.x[4]==t2.x[2]&&tmp1.x[5]==t2.x[3]) return 1;
    
if(tmp1.x[0]==t2.x[5]&&tmp1.x[1]==t2.x[0]&&tmp1.x[2]==t2.x[1]&&tmp1.x[3]==t2.x[2]&&tmp1.x[4]==t2.x[3]&&tmp1.x[5]==t2.x[4]) return 1;
    
return 0;
}

int main()
{
    scanf(
"%d",&n);
    
for(int i=1; i<=n; i++) a[i].init();
    memset(flag,
0,sizeof(flag));
    memset(head,
-1,sizeof(head));
    sec
=0;
    
bool isex;
    isex
=false;
    
for(int i=1; i<=n; i++)
    
{
        hs
=hash(a[i]);
        
if(!flag[hs])
        
{
            flag[hs]
=1;
            
for(int j=0; j<6; j++) tmp.x[j]=a[i].x[j];
            add(hs,tmp);
        }

        
else
        
{
            
for(int j=0; j<6; j++) tmp.x[j]=a[i].x[j];
            
for(int j=head[hs]; j!=-1; j=s[j].next)
            
{
                
if(pans(tmp,s[j])||pann(tmp,s[j]))
                
{
                    isex
=1;
                    printf(
"Twin snowflakes found.\n");
                    
return 0;
                }

                
else 
                
{
                    add(hs,tmp);
                }

            }

        }

    }

    
if(isex==0) printf("No two snowflakes are alike.\n");
    
return 0;
}

posted on 2012-07-24 13:30 jh818012 閱讀(260) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿

文章檔案(85)

搜索

最新評(píng)論

  • 1.?re: poj1426
  • 我嚓,,輝哥,,居然搜到你的題解了
  • --season
  • 2.?re: poj3083
  • @王私江
    (8+i)&3 相當(dāng)于是 取余3的意思 因?yàn)?3 的 二進(jìn)制是 000011 和(8+i)
  • --游客
  • 3.?re: poj3414[未登錄](méi)
  • @王私江
    0ms
  • --jh818012
  • 4.?re: poj3414
  • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
  • --王私江
  • 5.?re: poj1426
  • 評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
  • --王私江
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品二区三区| 久久久久久亚洲精品中文字幕| 性色av一区二区怡红| 日韩亚洲欧美一区二区三区| 中文国产一区| 欧美激情亚洲精品| 欧美激情第五页| 亚洲国产精品女人久久久| 欧美综合第一页| 久久久爽爽爽美女图片| 国产一区二区精品在线观看| 亚洲一区视频| 久久国产精品久久久久久电车| 国产精品一区二区三区四区五区| 亚洲一区二区在线免费观看视频| 性视频1819p久久| 国产欧美日韩三级| 欧美在线观看你懂的| 久久天堂av综合合色| 亚洲大胆女人| 欧美极品在线视频| 一本一本a久久| 欧美一区二区三区在线视频 | 亚洲色在线视频| 亚洲欧美激情视频| 韩国av一区| 欧美www视频在线观看| 亚洲欧洲在线一区| 一本色道久久88亚洲综合88| 欧美日韩一区在线视频| 亚洲欧美在线磁力| 美女免费视频一区| 亚洲日本va午夜在线电影| 欧美精品999| 亚洲在线观看视频| 久久综合色播五月| 99精品国产一区二区青青牛奶| 欧美午夜电影在线观看| 欧美一级理论性理论a| 久久久国产精品亚洲一区 | 在线欧美三区| 欧美人与性禽动交情品| 亚洲欧美另类在线观看| 男男成人高潮片免费网站| 日韩亚洲精品视频| 国产欧美大片| 欧美国产一区二区三区激情无套| 正在播放欧美一区| 免费成人在线观看视频| 亚洲精品裸体| 亚洲影院在线| 在线视频亚洲一区| 麻豆91精品| 中国av一区| 欧美一区二区三区在线观看| 欧美精品999| 伊人久久久大香线蕉综合直播 | 免费在线欧美视频| 亚洲国产天堂网精品网站| 国产精品v欧美精品∨日韩| 国产情侣久久| 欧美午夜电影在线观看| 一本色道久久综合狠狠躁篇怎么玩 | 国内偷自视频区视频综合| 亚洲免费在线| 欧美一区二区三区四区在线观看地址| 欧美电影电视剧在线观看| 欧美精品一区在线发布| 激情丁香综合| 久久精品一区| 亚洲香蕉网站| 欧美日本亚洲韩国国产| 国内视频一区| 在线中文字幕日韩| 嫩模写真一区二区三区三州| 亚洲网站在线观看| 亚洲精品免费在线| 精品不卡视频| 蜜臀av在线播放一区二区三区| 欧美一区成人| 亚洲图中文字幕| 亚洲免费大片| 亚洲激情中文1区| 女仆av观看一区| 久久久久久亚洲精品杨幂换脸 | 亚洲大胆视频| 国产一区视频在线观看免费| 久久亚洲视频| 欧美制服丝袜| 亚洲福利视频专区| 国产一区二区三区免费在线观看| 亚洲欧美另类在线观看| 欧美一区二区高清| 亚洲欧洲午夜| 亚洲一区二区三区在线观看视频| 欧美高清视频一区二区三区在线观看| 欧美黄免费看| 亚洲三级免费| 亚洲高清一区二| 一区一区视频| 狠狠综合久久av一区二区老牛| 国产女主播一区| 国产精品美女| 国产麻豆91精品| 国产日产欧产精品推荐色| 国产精品一区二区在线观看不卡 | 久久蜜桃精品| 久久综合图片| 免费一级欧美片在线观看| 久久天天综合| 奶水喷射视频一区| 欧美激情综合在线| 欧美性色综合| 国产日韩欧美a| 国际精品欧美精品| 亚洲国产精品尤物yw在线观看| 亚洲日产国产精品| 这里只有精品电影| 亚洲伊人网站| 久久精品一区| 亚洲盗摄视频| 最新中文字幕一区二区三区| 日韩一二三在线视频播| 一区二区三区高清视频在线观看| 亚洲女女女同性video| 久久成人精品电影| 欧美成人免费在线视频| 欧美精品系列| 国产精品久久久久久妇女6080 | 免费亚洲视频| 欧美色精品天天在线观看视频| 国产精品视频观看| 伊人久久大香线蕉av超碰演员| 亚洲第一天堂无码专区| 一本色道久久综合亚洲精品婷婷| 午夜电影亚洲| 欧美凹凸一区二区三区视频| 亚洲美女在线一区| 欧美一区二区三区免费在线看| 久久精品av麻豆的观看方式| 欧美 日韩 国产精品免费观看| 欧美日韩性生活视频| 国产日韩av在线播放| 亚洲精品视频在线| 午夜在线电影亚洲一区| 久久久亚洲人| 亚洲国产日韩欧美一区二区三区| 在线亚洲一区| 久久综合伊人| 国产精品国产a级| 在线成人激情| 亚洲欧美电影在线观看| 欧美+日本+国产+在线a∨观看| 亚洲人精品午夜| 欧美一区日韩一区| 欧美日韩一区二区在线播放| 亚洲欧美在线高清| 欧美黄色网络| 国产日韩欧美一区| 欧美一区日本一区韩国一区| 欧美日韩亚洲成人| 鲁大师成人一区二区三区| 一区二区三区黄色| 欧美成人精品在线视频| 亚洲尤物精选| 亚洲一区国产视频| 亚洲精品乱码久久久久久蜜桃麻豆| 黑人巨大精品欧美一区二区小视频| 亚洲欧美不卡| 亚洲国产精品久久人人爱蜜臀| 久久久人成影片一区二区三区观看 | 久久久国际精品| 欧美日韩一区二区三区在线观看免| 狠狠色伊人亚洲综合网站色| 午夜在线一区二区| 一本在线高清不卡dvd| 欧美激情第二页| 在线日韩电影| 久久久久国产免费免费| 亚洲图片自拍偷拍| 欧美性开放视频| 一区二区三区高清不卡| 亚洲成人在线免费| 欧美日韩国产色站一区二区三区| 一区二区三区亚洲| 久久国产高清| 亚洲综合二区| 国产精品久久久免费| 在线亚洲免费| 亚洲精品麻豆| 欧美精品一区二| 亚洲靠逼com| 亚洲人被黑人高潮完整版| 欧美成人午夜激情在线| 在线日韩成人| 欧美福利网址| 欧美福利电影在线观看| 亚洲激情av| 亚洲激情视频| 欧美日韩另类综合|