题目传送门

题目大意:给你若干根木棍,每根木棍有前后两种颜色,连接两根木棍需要前后颜色相同,求能否将所有木棍连接在一起。

Solution:

不要将木棍看成点,将颜色看成点。

其实就是求是否存在欧拉路径。

有欧拉路径要满足两个条件:

  图是连通图。

  没有或只有两个入度为奇数的点。

判断连通性用并查集。

枚举每个点判断入度就好了。

code:

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std; struct trie{
int tr[][],v[],cnt,tot;
trie(){memset(tr,,sizeof tr),memset(v,,sizeof v),cnt=tot=;}
int add(char *a)
{
int len=strlen(a),now=;
for(int i=;i<len;i++){
if(!tr[now][a[i]-'a'])tr[now][a[i]-'a']=++cnt;
now=tr[now][a[i]-'a'];
}
if(!v[now])v[now]=++tot;
return v[now];
}
}T;
char S1[],S2[];
int into[],fa[];
int getf(int x){return x==fa[x]?x:fa[x]=getf(fa[x]);} int main()
{
// freopen("x.txt","r",stdin);
for(int i=;i<=;i++)fa[i]=i;
while(cin>>S1>>S2){
int k1=T.add(S1),k2=T.add(S2);
into[k1]++,into[k2]++;
fa[getf(k1)]=getf(k2);
}
int ans=;
for(int i=;i<=T.tot;i++)
if(fa[getf(i)]==i)ans++;
if(ans>)return puts("Impossible"),;
ans=;
for(int i=;i<=T.tot;i++){
if(into[i]&)ans++;
}
if(!ans||ans==)puts("Possible");
else puts("Impossible");
return ;
}

POJ2513_Colored Sticks_KEY的更多相关文章

随机推荐

  1. IOS http(上传和下载)

    HttpTool.h #import <Foundation/Foundation.h> typedef void (^HttpToolProgressBlock)(CGFloat pro ...

  2. curl 抓取页面信息

    <?php // 1. 初始化 $ch = curl_init(); // 2. 设置选项,包括URL curl_setopt($ch, CURLOPT_URL, "www" ...

  3. BZOJ4987:Tree(树形DP)

    Description 从前有棵树. 找出K个点A1,A2,…,Ak. 使得∑dis(AiAi+1),(1<=i<=K-1)最小. Input 第一行两个正整数n,k,表示数的顶点数和需要 ...

  4. ethereumjs/ethereumjs-block-3-tests

    之前可以先了解一下另一个模块,看本博客的ethereumjs/ethereumjs-common部分内容 通过tests测试文件能够帮助更好了解API的使用 ethereumjs-block/test ...

  5. Spring(十一)之AOP

    Spring 框架的一个关键组件是面向方面的编程(AOP)框架.面向方面的编程需要把程序逻辑分解成不同的部分称为所谓的关注点.跨一个应用程序的多个点的功能被称为横切关注点,这些横切关注点在概念上独立于 ...

  6. STM8 亮灯程序

    开发环境:ST Visual Develop+STM32 ST-LINK Utility+开发板 原理:定时向指定针脚输出高电平信号 /* MAIN.C file * * Copyright (c) ...

  7. SQL修改字段默认值、获取字段默认值

    一.SQL修改字段默认值 alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 D ...

  8. Filters in ASP.NET Core (转自MSDN)

    Filters in ASP.NET Core MVC allow you to run code before or after specific stages in the request pro ...

  9. webapi中的模型验证

    mic: https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/model-valida ...

  10. sharepoint OOS打开文档使用新窗口

    总体说来就是在<a>标签上嵌入_blank $("a[onclick*='return DispEx'][target!='_blank']") .attr(" ...