C++问题:杭电acm(HDU) 1878,为啥我的代码总是compilation error
交上去是ce,提示是`count'undeclared(firstusethisfunction)我把所有的count改成cnt2,再交就没问题了为什么呢?count这个...
交上去是ce,提示是`count' undeclared (first use this function)
我把所有的 count 改成 cnt2,再交就没问题了
为什么呢?count这个变量名有什么问题吗?
PS:我提交时选的是G++标准,先C++标准没错误,但复试时用G++标准,所以得弄明白
我的代码:
#include<iostream>
using namespace std;
int father[1000],count[1000];
int Find(int a)
{
int b = a;
while(father[b]!=b)
b = father[b];
int k = a;
while(father[k]!=b)
{
father[k] = b;
k = father[a];
a = father[a];
}
return b;
}
void merge(int a,int b)
{
father[a] = b;
}
int main()
{
int n,m,cnt;
bool tragedy;
while(scanf("%d",&n),n)
{
tragedy = false;
cnt = 0;
scanf("%d",&m);;
int i;
int a,b;
for(i=0;i<n;i++)
{
count[i] = 0;
father[i] = i;
}
for(i=0;i<m;i++)
{
scanf("%d%d",&a,&b);
count[a]++;
count[b]++;
merge(a,b);
}
for(i=0;i<m;i++)
{
if(count[i]%2 != 0)
{
tragedy = true;
break;
}
if(father[i]==i)
cnt ++;
if(cnt>1)
{
tragedy = true;
break;
}
}
if(tragedy)
cout<<0<<endl;
else
cout<<1<<endl;
}
return 0;
} 展开
我把所有的 count 改成 cnt2,再交就没问题了
为什么呢?count这个变量名有什么问题吗?
PS:我提交时选的是G++标准,先C++标准没错误,但复试时用G++标准,所以得弄明白
我的代码:
#include<iostream>
using namespace std;
int father[1000],count[1000];
int Find(int a)
{
int b = a;
while(father[b]!=b)
b = father[b];
int k = a;
while(father[k]!=b)
{
father[k] = b;
k = father[a];
a = father[a];
}
return b;
}
void merge(int a,int b)
{
father[a] = b;
}
int main()
{
int n,m,cnt;
bool tragedy;
while(scanf("%d",&n),n)
{
tragedy = false;
cnt = 0;
scanf("%d",&m);;
int i;
int a,b;
for(i=0;i<n;i++)
{
count[i] = 0;
father[i] = i;
}
for(i=0;i<m;i++)
{
scanf("%d%d",&a,&b);
count[a]++;
count[b]++;
merge(a,b);
}
for(i=0;i<m;i++)
{
if(count[i]%2 != 0)
{
tragedy = true;
break;
}
if(father[i]==i)
cnt ++;
if(cnt>1)
{
tragedy = true;
break;
}
}
if(tragedy)
cout<<0<<endl;
else
cout<<1<<endl;
}
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询