UVA 10129 - Play on Words
2013-02-07 14:17
417 查看
/*
找欧拉路,先判断图是否连通,
*/
#include<cstdio>
#include<cstring>
#include<cstdlib>
int numf[30],nume[30],vis[30];
int map[30][30];
int dfs(int x)
{
vis[x]=0;
for(int i=0; i < 26; i++)
if(vis[i]&&map[x][i])
dfs(i);
}
int main()
{
int t,n,pf;
char a[1100];
scanf("%d",&t);
while(t--)
{
memset(numf,0,sizeof(numf));
memset(nume,0,sizeof(nume));
memset(vis,0,sizeof(vis));
scanf("%d",&n);
getchar();
for(int i = 0; i < n; i++)
{
gets(a);
int l = strlen(a);
int x = a[0]-'a';
int y = a[l-1]-'a';
numf[x]++;
nume[y]++;
map[x][y]++;
vis[x]=1;
vis[y]=1;
pf=x;
}
int flag=0,pj=0;
for(int i = 0; i < 26; i++)
{
if(abs(numf[i]-nume[i])==1)
{
if(numf[i]>nume[i])
pf = i;
pj++;
}
else if(numf[i]!=nume[i])
{
flag=1;
break;
}
}
if(pj!=2&&pj!=0) flag=1;
dfs(pf);
int mx=0;
for(int i = 0; i < 26; i++)
mx+=vis[i];
if(mx||flag)
printf("The door cannot be opened.\n");
else
printf("Ordering is possible.\n");
}
return 0;
}
找欧拉路,先判断图是否连通,
*/
#include<cstdio>
#include<cstring>
#include<cstdlib>
int numf[30],nume[30],vis[30];
int map[30][30];
int dfs(int x)
{
vis[x]=0;
for(int i=0; i < 26; i++)
if(vis[i]&&map[x][i])
dfs(i);
}
int main()
{
int t,n,pf;
char a[1100];
scanf("%d",&t);
while(t--)
{
memset(numf,0,sizeof(numf));
memset(nume,0,sizeof(nume));
memset(vis,0,sizeof(vis));
scanf("%d",&n);
getchar();
for(int i = 0; i < n; i++)
{
gets(a);
int l = strlen(a);
int x = a[0]-'a';
int y = a[l-1]-'a';
numf[x]++;
nume[y]++;
map[x][y]++;
vis[x]=1;
vis[y]=1;
pf=x;
}
int flag=0,pj=0;
for(int i = 0; i < 26; i++)
{
if(abs(numf[i]-nume[i])==1)
{
if(numf[i]>nume[i])
pf = i;
pj++;
}
else if(numf[i]!=nume[i])
{
flag=1;
break;
}
}
if(pj!=2&&pj!=0) flag=1;
dfs(pf);
int mx=0;
for(int i = 0; i < 26; i++)
mx+=vis[i];
if(mx||flag)
printf("The door cannot be opened.\n");
else
printf("Ordering is possible.\n");
}
return 0;
}
相关文章推荐
- 【例题 6-16 UVa 10129】Play on Words
- UVA - 10129 Play on Words
- uva 10129 - Play on Words
- UVa 10129 & HDU 1116 & POJ 1386 - Play on Words
- uva 10129 Play on Words
- 【欧拉路的判断 DFS判断连通】UVA - 10129 Play on Words
- UVA 10129 Play on Words
- UVa 10129 (并查集 + 欧拉路径) Play on Words
- UVA 10129 Play on Words(欧拉道路)
- uva 10129 Play on Words
- uva 10129 Play on Words
- Play on Words - UVa 10129 欧拉回路
- UVA - 10129 Play on Words
- UVA - 10129Play on Words(欧拉路)
- UVA10129 Play on Words —— 欧拉回路
- UVA-10129 Play on Words (判断欧拉道路的存在性)
- UVA - 10129 - Play on Words (欧拉路+并查集)
- UVA 10129 Play on Words
- UVa 10129 Play On Words【欧拉道路 并查集 】
- uva 10129 Play on Words