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

#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 閱讀(214) 評論(0)  編輯 收藏 引用

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


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一级久久| 久久亚洲视频| 性娇小13――14欧美| 亚洲国产99| 久久久久久9| 亚洲天堂第二页| 一本色道久久综合狠狠躁篇的优点 | 欧美国产成人精品| 久久久久久午夜| 久久精品国产亚洲a| 亚洲国产婷婷| 欧美日本中文字幕| 久久亚洲影音av资源网| 久久精品91久久久久久再现| 亚洲精品一区二区三区蜜桃久| 免费在线欧美黄色| 免费亚洲一区二区| 亚洲高清在线观看一区| 最新国产成人在线观看| 日韩一区二区免费高清| 一区二区高清视频| 亚洲影院免费观看| 欧美在线视频播放| 欧美在线观看视频一区二区| 亚洲欧美日韩国产中文在线| 欧美亚洲尤物久久| 亚洲欧美久久| 久久久久九九九| 欧美日韩免费一区二区三区| 欧美色图五月天| 国产精品影片在线观看| 国内成+人亚洲| 亚洲精品精选| 午夜日韩视频| 亚洲第一在线| 亚洲欧美日韩国产| 欧美成人亚洲| 国产亚洲欧美日韩美女| 亚洲人成网站在线播| 在线观看欧美视频| 久久久亚洲人| 欧美不卡一区| 亚洲一二区在线| 久久天天躁夜夜躁狠狠躁2022| 欧美jizzhd精品欧美巨大免费| 欧美日本高清视频| 欧美日韩亚洲综合| 激情文学综合丁香| 亚洲婷婷综合色高清在线 | 国产视频一区在线观看| 一区免费观看视频| 一区二区免费看| 久久欧美中文字幕| 一区二区免费在线播放| 久久久免费精品视频| 欧美日韩一区二区三区四区在线观看 | 欧美人在线观看| 在线日韩av片| 欧美诱惑福利视频| 99热在线精品观看| 久久人人97超碰人人澡爱香蕉| 欧美午夜精品理论片a级大开眼界| 欧美系列精品| 亚洲日本视频| 欧美福利一区二区| 亚洲视频综合在线| 老司机凹凸av亚洲导航| 亚洲第一精品福利| 欧美一区二区大片| 国产精品日韩电影| 亚洲一区二区在线播放| 欧美成人一二三| 久久精品在线| 欧美日韩中文字幕在线视频| 亚洲大片av| 久久这里有精品视频| 亚洲免费在线看| 国产精品magnet| 亚洲网站啪啪| 99国产精品国产精品久久| 欧美激情亚洲自拍| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 黄色成人精品网站| 久久精品国产99国产精品| 欧美国产日韩一区二区三区| 久久成人免费视频| 亚洲人成在线观看网站高清| 欧美国产日本| 亚洲曰本av电影| 欧美中文在线视频| 亚洲国产一区二区在线| 亚洲三级性片| 国产欧美日韩另类视频免费观看| 久久精品麻豆| 欧美精品xxxxbbbb| 久久精精品视频| 嫩草国产精品入口| 欧美一区综合| 欧美大片在线观看一区二区| 亚洲免费视频在线观看| 久久久蜜臀国产一区二区| 999亚洲国产精| 亚洲欧美日韩中文播放| 亚洲人午夜精品免费| 亚洲欧美国内爽妇网| 亚洲国产午夜| 欧美在线三区| 亚洲一区二区三区高清| 久久三级福利| 午夜视频久久久久久| 欧美成年人视频网站欧美| 欧美伊人精品成人久久综合97| 欧美91精品| 久久久久久久波多野高潮日日| 欧美日韩高清在线| 牛牛影视久久网| 国产乱人伦精品一区二区| 亚洲国产日韩精品| 黄色国产精品| 亚洲欧美视频在线| 亚洲少妇自拍| 欧美激情bt| 欧美成人有码| 精品91在线| 亚洲欧美变态国产另类| 99视频精品在线| 老司机精品导航| 久久亚洲综合网| 国产毛片精品国产一区二区三区| 亚洲免费精彩视频| 亚洲精选中文字幕| 免费高清在线一区| 麻豆精品在线观看| 国产主播一区二区三区| 亚洲欧美影音先锋| 亚洲欧美www| 欧美成人国产一区二区| 国产精品日本| 国产精品99久久久久久久久久久久| 最新国产拍偷乱拍精品 | 欧美区在线播放| 欧美激情亚洲激情| 亚洲欧洲精品一区二区| 麻豆精品精华液| 乱人伦精品视频在线观看| 国产婷婷一区二区| 欧美一区二区女人| 久久精品亚洲| 一区二区亚洲精品国产| 久久综合电影一区| 欧美专区第一页| 久久久噜久噜久久综合| 国产一区二区三区久久精品| 午夜激情综合网| 久久精品亚洲精品| 国产婷婷一区二区| 久久精品视频在线看| 欧美黄色aa电影| 99精品国产福利在线观看免费| 欧美精品一区二区三区蜜臀| 亚洲精品一区二区三区樱花| 亚洲精品看片| 欧美私人网站| 西西裸体人体做爰大胆久久久| 久久精彩免费视频| 亚洲国产精品一区在线观看不卡 | 国产精品久久二区| 性欧美xxxx大乳国产app| 久久深夜福利免费观看| 国内久久婷婷综合| 亚洲精品之草原avav久久| 国产精品第一区| 亚洲欧美日韩天堂| 欧美成人tv| 亚洲欧美经典视频| 黄色成人av| 欧美精选一区| 午夜国产欧美理论在线播放| 亚洲第一精品在线| 亚洲综合另类| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久夜色精品亚洲噜噜国产mv| 亚洲精华国产欧美| 国产精品欧美激情| 99国产精品视频免费观看| 欧美影院视频| 亚洲日本中文字幕| 国产一区二区三区黄视频| 欧美日本韩国一区| 久久久国产精品一区二区中文 | 国产精品家庭影院| 玖玖综合伊人| 午夜一区二区三视频在线观看| 国产在线一区二区三区四区| 欧美另类极品videosbest最新版本 | 你懂的成人av| 欧美一区三区三区高中清蜜桃| 日韩视频免费在线| 亚洲高清一区二| 欧美国产精品人人做人人爱|