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

#include <stdio.h>
#include 
<stdlib.h>
#include 
<string.h>

#define MAX  500001

struct Trie
{
    
int   num;
    Trie
* next[26];    
} a[
5000000];

Trie  root;
int   location, id;
int   set[MAX];

void initial()
{
    root.num
= -1;
    
    memset( root.next, 
0sizeof(root.next) );
    
    location
= 0, id= 1;
}

void insert( char* s )
{
    Trie
* r= &root;
    
    
while*s )
    {
        
int t= *s- 'a';    
        
        
if( r->next[t]== NULL )
        {
            r
->next[t]= a+ location;
            
            a[location].num
= -1;
            memset( a[location].next, 
0sizeof( a[location].next ) );
            
            location
++;
        }
        
        r
= r->next[t];
        s
++;
    }
    
    
if( r->num== -1 ) r->num= id++;
}

int degree[MAX];

int search( char* s )
{
    Trie
* r= &root;
    
    
while*s )
    {
        
int t= *s- 'a';
        
        
if( r->next[t] ) r= r->next[t];
        
else return -1;
        
        s
++;
    }
    
    
return r->num;
}

int find( int i )
{
    
while( i!= set[i] ) i= set[i];
    
    
return i;
}

void Union( int a, int b )
{
    
int ta= find(a), tb= find(b);
    
    
set[ta]= tb;
}

int main()
{
    
char s1[15],s2[15];
    
    initial();
    
forint i= 0; i< MAX; ++i ) { degree[i]= 0set[i]= i; }
    
    
while( scanf("%s%s",s1, s2)!= EOF )
    {
        insert(s1); insert(s2);
        
        
int a= search(s1), b= search(s2);
        
        degree[a]
++, degree[b]++;
        Union(a,b);
    }
    
    
int m= 0;
    
forint i= 1; i< id; ++i )
    
if( degree[i]& 1 ) m++;
    
    
int t= find(1);
    
    
forint i= 2; i< id; ++i )
    
if( find(i)!= t )
    {
        m
= -1;
        
break;
    }
    
    
if( m== 0  || m== 2 ) puts("Possible");
    
else                  puts("Impossible");
    
    
return 0;
}





#include <stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
#include 
<vector>

#define MAX  500001

struct Node
{
    
int value, ID;
    Node(){}
    Node( 
int a, int b ): value(a), ID(b) {}
};

int   set[MAX], id= 0;
std::vector
<Node> dict[MAX<<1];
int   degree[MAX];

int find( int i )
{
    
while( i!= set[i] ) i= set[i];
    
    
return i;
}

void Union( int a, int b )
{
    
int ta= find(a), tb= find(b);
    
    
set[ta]= tb;
}

int getvalue( char* s )
{
    __int64 t
= 0;
    
while*s )
    {
        t
= t* 128+ *s- 'a';
        s
++;
    }
    
    
return t% 1000001;
}

int main()
{
    
char s1[15],s2[15];
    
    
forint i= 0; i< MAX; ++i ) { degree[i]= 0set[i]= i; }
    
    
while( scanf("%s%s",s1, s2)!= EOF )
    {
        
int t= getvalue(s1),a,b;
        
        
if( dict[t].size()== 0 ) 
        {
            dict[t].push_back( Node(t,
++id) );
            a
= id;
        }
        
else if( dict[t].size()== 1 )
            a
= dict[t][0].ID;
        
else 
        {
            
bool ok= false;
            
            
for( size_t i= 0; i< dict[t].size(); ++i )
            
if( dict[t][i].value== t )
            {
                a
= dict[t][i].ID;
                ok
= true;
                
break;
            }
            
            
if!ok ) { dict[t].push_back( Node(t,++id) ); a= id; }
        }
        
        t
= getvalue(s2);
        
if( dict[t].size()== 0 ) 
        {
            dict[t].push_back( Node(t,
++id) );
            b
= id;
        }
        
else if( dict[t].size()== 1 )
            b
= dict[t][0].ID;
        
else 
        {
            
bool ok= false;
            
            
for( size_t i= 0; i< dict[t].size(); ++i )
            
if( dict[t][i].value== t )
            {
                b
= dict[t][i].ID;
                ok
= true;
                
break;
            }
            
            
if!ok ) { dict[t].push_back( Node(t,++id) ); b= id; }
        }
        
        degree[a]
++, degree[b]++;
        Union(a,b);
    }
    
    
int m= 0;
    
forint i= 1; i<= id; ++i )
    
if( degree[i]& 1 ) m++;
    
    
int t= find(1);
    
    
forint i= 2; i<= id; ++i )
    
if( find(i)!= t )
    {
        m
= -1;
        
break;
    }
    
    
if( m== 0  || m== 2 ) puts("Possible");
    
else                  puts("Impossible");
    
    
return 0;
}
posted on 2008-11-25 10:31 Darren 閱讀(209) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久最新网址| 久久天堂精品| 欧美午夜在线一二页| 久久视频国产精品免费视频在线| 欧美一区二区三区的| 亚洲欧美在线免费观看| 香蕉久久夜色精品国产| 久久国产夜色精品鲁鲁99| 久久久久久久性| 欧美刺激性大交免费视频| 欧美成人午夜剧场免费观看| 欧美人在线观看| 国产精品久久久久久久久久久久久久| 欧美色大人视频| 国产视频一区免费看| 国产午夜一区二区三区| 在线精品亚洲一区二区| 亚洲人精品午夜| 亚洲在线观看免费视频| 一本色道久久综合亚洲精品小说| 亚洲一区免费| 免费成人av在线| 国产精品久久久久久妇女6080 | 久久久免费av| 欧美电影电视剧在线观看| 欧美日韩大陆在线| 国产三级精品三级| 亚洲国内精品在线| 亚洲欧美制服另类日韩| 免费黄网站欧美| 9久草视频在线视频精品| 午夜日本精品| 欧美日韩精品一区视频 | 亚洲欧美视频一区二区三区| 久久一区亚洲| 国产精品自拍在线| 亚洲看片免费| 欧美自拍偷拍午夜视频| 蜜臀va亚洲va欧美va天堂| 亚洲免费视频一区二区| 模特精品在线| 国产日韩精品久久久| 99视频在线精品国自产拍免费观看| 欧美一区二区三区在线免费观看| 欧美电影免费观看高清完整版| 亚洲欧美日韩另类精品一区二区三区| 欧美成人激情在线| 狠狠色丁香久久婷婷综合丁香| 亚洲欧美日韩一区| 亚洲精品在线二区| 久久婷婷色综合| 国产日韩一区二区| 午夜一区二区三视频在线观看| 亚洲清纯自拍| 亚洲永久免费精品| 欧美视频在线观看| 亚洲作爱视频| 亚洲欧洲美洲综合色网| 麻豆精品在线视频| 国产亚洲综合精品| 欧美在线999| 亚洲一区在线直播| 国产精品久久久久久久7电影| 欧美专区在线观看| 国产精品视频xxx| 亚洲欧美一区二区激情| 一本色道久久加勒比88综合| 欧美人与性禽动交情品| 亚洲狼人综合| 亚洲精品在线观看视频| 欧美色精品天天在线观看视频| 亚洲色图在线视频| 中文一区字幕| 国产精品日韩在线观看| 久久av资源网| 久久久久久网| 亚洲精品久久嫩草网站秘色| 欧美激情一区二区三区不卡| 欧美—级高清免费播放| 亚洲图色在线| 亚洲欧美卡通另类91av| 狠狠色狠狠色综合日日小说| 欧美h视频在线| 欧美精品123区| 亚洲女性喷水在线观看一区| 欧美一区二区成人6969| 国产在线视频欧美| 欧美高清视频一区| 欧美视频在线看| 欧美在线免费观看亚洲| 久久综合激情| 亚洲一区三区电影在线观看| 欧美中文在线观看| 亚洲国产日韩欧美在线99| 亚洲黄色成人久久久| 欧美日韩免费观看一区=区三区| 亚洲影院污污.| 欧美一区永久视频免费观看| 国产精品高清网站| 国产乱子伦一区二区三区国色天香| 久久成人综合网| 久久综合激情| 午夜一区在线| 欧美福利小视频| 欧美一区二区| 蜜桃久久av一区| 亚洲午夜一区二区| 午夜精品久久久久久久蜜桃app | 欧美极品在线观看| 香蕉久久夜色精品国产使用方法| 久久久久亚洲综合| 久久激情婷婷| 一区二区三区福利| 久久精品亚洲一区| 亚洲欧美中文另类| 久久婷婷综合激情| 久久国产乱子精品免费女| 欧美激情第8页| 蜜桃精品久久久久久久免费影院| 欧美日韩国产一区二区| 蜜臀91精品一区二区三区| 欧美日韩一视频区二区| 欧美韩国日本一区| 国产在线麻豆精品观看| 亚洲欧美成人一区二区三区| 99精品国产在热久久婷婷| 久久久久国产一区二区三区四区| 亚洲欧美在线一区二区| 欧美日韩国产小视频| 亚洲国产色一区| 一区福利视频| 欧美在线视频不卡| 久久成人免费| 国产精品黄页免费高清在线观看| 亚洲日本中文字幕| 亚洲免费电影在线观看| 欧美xx69| 亚洲激情午夜| 亚洲欧洲午夜| 蜜臀av性久久久久蜜臀aⅴ| 久久综合色婷婷| 激情91久久| 欧美一区二区三区四区夜夜大片 | 欧美成人一区二区三区| 一区二区三区在线观看国产| 欧美专区在线观看| 久热精品视频| 狠狠色狠狠色综合日日91app| 久久国产福利| 免费观看在线综合色| 最新高清无码专区| 欧美国产一区二区在线观看| 最新亚洲激情| 亚洲欧美激情四射在线日 | 日韩亚洲一区在线播放| 一区二区三区**美女毛片| 欧美久久一区| 亚洲黄一区二区三区| 一本色道久久综合狠狠躁的推荐| 欧美精品一区二区视频| 日韩视频在线免费观看| 亚洲欧美成人一区二区在线电影| 国产精品三级久久久久久电影| 亚洲在线视频观看| 久久久精彩视频| 亚洲福利视频网站| 欧美精品乱人伦久久久久久| 在线视频一区观看| 久久精品国产免费| 亚洲国产精品一区二区第一页| 亚洲欧美日本在线| 国产一区二区激情| 欧美成人精品激情在线观看 | 午夜国产精品视频| 国产视频亚洲精品| 欧美激情视频在线播放 | 99亚洲一区二区| 国产精品久久久久久久久婷婷 | 午夜精品一区二区在线观看| 国产亚洲电影| 欧美激情久久久久| 欧美亚洲视频在线看网址| 亚洲国产精品传媒在线观看| 性欧美长视频| 日韩午夜精品| 悠悠资源网亚洲青| 国产精品成人国产乱一区| 久久裸体视频| 亚洲自拍16p| 亚洲精品一区二区三区在线观看| 久久久精品久久久久| 亚洲一级片在线观看| 黄色日韩在线| 国产精品麻豆成人av电影艾秋| 免费成人黄色av| 久久福利毛片| 午夜影院日韩| 亚洲午夜精品视频| 夜色激情一区二区| 亚洲国产精品成人综合|