题目链接

#include <cstdio>
#include <cstring>
const int N=2e6+5,M=5e5+5,mod=2e6;
const int seed[5]={31,37,131,41}; int dgr[N],fa[M];
char s[15];
namespace Hash
{
int cnt,val[N],pos[N];
int Get_Hash(char *s)
{
int x=0,l=strlen(s);
for(int i=0; i<l; ++i) x=(x+s[i]*seed[i%4])%mod;
return x;
}
int Insert(char *s)
{
int p=Get_Hash(s);
while(val[p]&&val[p]!=p){
++p;
if(p>=mod) p-=mod;
}
if(val[p]) return pos[p];
val[p]=p;
return pos[p]=++cnt;
}
}
int Find(int x){
return x==fa[x]?x:fa[x]=Find(fa[x]);
} int main()
{
int p1,p2,r1,r2,t=0;
for(int i=1; i<M; ++i) fa[i]=i;
while(~scanf("%s",s))
{
p1=Hash::Insert(s);
scanf("%s",s);
p2=Hash::Insert(s);
++dgr[p1], ++dgr[p2];
r1=Find(p1), r2=Find(p2);
if(r1!=r2) ++t,fa[r1]=r2;
}
if(t<Hash::cnt-1) {printf("Impossible"); return 0;}
int tot=Hash::cnt; t=0;
for(int i=1; i<=tot; ++i)
if(dgr[i]&1) ++t;
printf(t>2?"Impossible":"Possible"); return 0;
}

最新文章

  1. 虚拟主机无法使用fsockopen操作处理方法
  2. VS2010命令行编译C#和VC项目
  3. PHP 统计中文字符串的长度
  4. uva live 6170
  5. jQuery 源码解析一:jQuery 类库整体架构设计解析
  6. sublime 正则搜索日语字符
  7. Linux内核监控模块-1-驱动模块(LKM)开发(以一个简单的hello world程序为例)
  8. bluetooth-蓝牙事件监听
  9. ECOS-认证地址
  10. 老李推荐:第1章3节《MonkeyRunner源码剖析》概述:架构
  11. [Err] ORA-00923: FROM keyword not found where expected 与rownum
  12. C# Array数组是引用类型
  13. 【BZOJ2721】樱花(数论)
  14. THUSC2017题解
  15. css-div翻转动画
  16. 调试Windows Service
  17. 第二阶段冲刺——seven
  18. WebApplication与WebSite区别
  19. 【DIV+CSS】代码作业练习DIV+CSS太极阴阳图
  20. UsernameToken 【转】

热门文章

  1. springboot学习笔记-6 springboot整合RabbitMQ
  2. freeRTOS中文实用教程2--队列
  3. class_create(),device_create自动创建设备文件结点【转】
  4. phantomjs 下拉滚动条获取网页的全部源码
  5. ES系列十六、集群配置和维护管理
  6. dubbo 一个接口多个实现
  7. 现代C++之理解auto类型推断
  8. Android 截屏与 WebView 长图分享经验总结
  9. 自适应电脑、手机和iPad的网页设计方法
  10. PHP 发送HTTP请求的几种方式