📄 2570286_wa.cpp
字号:
#include <stdio.h>
#include <string.h>
char v[60];
int map[60][60];
int d, dd[60];
int visited[60];
void dfs(int v)
{
int i;
visited[v] = 1;
for(i = 0; i < d; i++)
if(map[v][i]&&!visited[i])
dfs(i);
}
int conected()
{
int i;
memset(visited,0,sizeof(visited));
dfs(0);
for(i = 0; i < d; i++)
if(!visited[i])
return 0;
return 1;
}
int main()
{
int i, j;
char tmp[10];
while(scanf("%s",tmp)==1)
{
d = 0;
memset(map,0,sizeof(map));
memset(dd,0,sizeof(dd));
scanf("%s",tmp);
scanf("%s",tmp);
while(scanf("%s",tmp)==1)
{
v[d] = tmp[0];
d++;
if(strlen(tmp)==1)
break;
}
scanf("%s",tmp);scanf("%s",tmp);
while(scanf("%s",tmp)==1)
{
for(i = 0; i < d; i++)
if(tmp[1]==v[i])
break;
for(j = 0; j < d; j++)
if(tmp[3]==v[j])
break;
map[i][j] = map[j][i] = 1;
dd[i]++,dd[j]++;
if(strlen(tmp)==5)
break;
}
scanf("%s",tmp);
if(!conected())
printf("No No\n");
else
{
int num = 0;
for(i = 0; i < d; i++)
if(dd[i]%2)
num++;
if(num==0||num==2)
{
if(num==2)
printf("Yes ");
else
printf("No ");
}
else
printf("No ");
num = 0;
for(i = 0; i < d; i++)
if(dd[i]%2)
num++;
if(num)
printf("No\n");
else
printf("Yes\n");
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -