| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
为什么测了好多数据都是对的,但提交之后还是答案错误?#include <iostream>
#include <ctime>
#include <cstdlib>
#include <cstring>
using namespace std;
const int MAX=10010;
struct Fu
{
int x;
int cut;
int kind;
} fu[MAX];
int N,M;
int graph[MAX][MAX];
int flag[MAX];
int counts=1;
int kind=0;
void DFS(int x);
int compare(const void *a,const void *b);
int compare1(const void *a,const void *b);
int main()
{
cin>>N>>M;
int i,j;
int x,y;
for(i=1;i<=N;i++)
fu[i].x=i;
for(i=1; i<=M; i++)
{
cin>>x>>y;
graph[x][y]=1;
}
clock_t start_time=clock();///程序开始运行
for(i=1; i<=N; i++)
{
if(!flag[i])
DFS(i);
}
for(i=2; i<=N; i++)
for(j=1; j<i; j++)
{
if(graph[i][j]+graph[j][i]==1)
{
graph[i][j]=(graph[i][j]+1)%2;
graph[j][i]=(graph[j][i]+1)%2;
}
}
qsort(&fu[1],N,sizeof(struct Fu),compare);
memset(&flag[1],0,(N+1)*sizeof(int));
for(i=1; i<=N; i++)
if(!flag[fu[i].x])
{
kind++;
DFS(fu[i].x);
}
int ans[MAX];
int flags;
memset(&ans[1],0,kind*sizeof(int));
counts=0;
for(i=2; i<=N; i++)
for(j=1; j<i; j++)
{
if(graph[i][j]+graph[j][i]==1)
{
graph[i][j]=(graph[i][j]+1)%2;
graph[j][i]=(graph[j][i]+1)%2;
}
}
for(i=1; i<=N; i++)
{
flags=0;
if(ans[fu[i].kind]!=-1)
for(j=i+1; j<=N; j++)
{
if(graph[i][j]&&fu[i].kind!=fu[j].kind)
ans[fu[i].kind]=-1;
if(graph[j][i]&&fu[i].kind!=fu[j].kind)
ans[fu[j].kind]=-1;
}
}
int mark=0,result=0;
for(i=1;i<=kind;i++)
if(ans[i]!=-1)
{
mark++;
if(mark==1)
result=i;
}
if(mark>1)
cout<<0;
if(mark==1)
{
mark=0;
for(i=1;i<=N;i++)
if(fu[i].kind==result)
mark++;
cout<<mark;
}
return 0;
}
void DFS(int x)
{
int i;
flag[x]=1;
fu[x].kind=kind;
for(i=1; i<=N; i++)
{
if(graph[x][i]&&!flag[i])
DFS(i);
}
fu[x].cut=counts++;
}
int compare(const void *a,const void *b)
{
return ((struct Fu*)b)->cut-((struct Fu*)a)->cut;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator