貌似主要考的是输入输出……
由于在START M N后面回车的处理不当导致WA*N,反正貌似scanf("%d%d\n",&a,&b)之流不管用。还是直接getchar()好。。
欧拉回路小题
1.判断所有边的度是否为偶数,并且起始点在0(因为最后要回到0点),则有欧拉回路
2.如果起始点m和0点的度数为奇数,并且m不为0,则有欧拉通路
其他,不满足
#include <iostream>
#include <cstdio>
#include <sstream>
#include <cstring>
using namespace std;
int main()
{
// freopen("123.txt","r",stdin);
int deg[30];
int n,m;
stringstream stream;
string buf;
cin>>buf;
while(buf!="ENDOFINPUT")
{
memset(deg,0,sizeof(deg));
int side = 0;
scanf("%d%d",&m,&n);
getchar();
for(int i=0; i<n; i++)
{
int tem;
getline(cin,buf);
stream<<buf;
while(stream>>tem)
{
deg[tem]++;
deg[i]++;
side++;
}
stream.clear();
}
cin>>buf;
int odd = 0;
int even = 0;
for(int i=0;i<n;i++)
if(deg[i]%2==1) odd++;
else even++;
if(odd==0 && m==0) printf("YES %d\n",side);
else if(odd==2 && deg[m]%2==1 && deg[0]%2==1 && m!=0)
printf("YES %d\n",side);
else
printf("NO\n");
cin>>buf;
}
return 0;
}