adef87kz
Coraz więcej gadania
Dołączył: 16 Wrz 2010
Posty: 114
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: England
|
Wysłany: Pon 19:19, 20 Wrz 2010 Temat postu: 皇冠注投网 |
|
|
#include <stdio>,[link widoczny dla zalogowanych]
#include <string>
#define NMAX 10
int nodp[NMAX];
int nodset[NMAX];
int main(void){
int i,j;
int nodn,[link widoczny dla zalogowanych],siden;
while (scanf("%d%d",[link widoczny dla zalogowanych],&nodn,&siden)!=-1){
int setn =0;
int curset = 1;
int accept =1;
int x,[link widoczny dla zalogowanych],y;
memset(nodp,[link widoczny dla zalogowanych],0,[link widoczny dla zalogowanych],sizeof(nodp));
memset(nodset,[link widoczny dla zalogowanych],0,[link widoczny dla zalogowanych],sizeof(nodset));
for(i=0;i<siden;i++){
scanf("%d%d",[link widoczny dla zalogowanych],&x,[link widoczny dla zalogowanych],&y);
nodp[x]++;
nodp[y]++;
if(nodn<3||x==y||siden<3) accept =0;
if (!accept) continue;
if(nodset[x]){
if(nodset[y]&&nodset[y]!=nodset[x]){
//if x,y have a side with diff set, merge the two
int tmpset =nodset[y];
for(int j =0;j<nodn;j++){
if(nodset[j]==tmpset)
nodset[j]=nodset[x];
}
setn--;
}
else if(nodset[y]==0){
nodset[y] = nodset[x];
}
}
else if(nodset[y]){
nodset[x] = nodset[y];
}
else {
setn++;
nodset[x]=nodset[y]=curset;
curset++;
}
}
//gets(strtmp);
//confirm if only one circle
if(setn!=1){
accept =0;
}
//confirm if extra side outside the circle
for(j = 1;j<=nodn;j++){
if (nodp[j]!=2&&nodp[j]!=0){//nodp[j]!=2
accept =0;
break;
}
}
if(accept)
puts("YES");
else
puts("NO");
//
}
return 0;
}
相关的主题文章:
博彩公司推荐www.ccrr9888.com
最佳足球项目www.ccrr9888.com
博彩公司推荐www.ccrr9888.com
华人博彩网址www.ccrr9888.com
Post został pochwalony 0 razy
|
|