我已经解决了泛希腊竞赛的三个阶段中的第一个(现在已经结束),但我很想知道是否有任何更简单的复杂性算法 7 9
5 7
4 2
3 6
2 3
1 7
6 2
4 6
1 5
3 4
int main()
{
ifstream in("domes.in");
ofstream out("domes.out");
int orio,z;
in>>orio;
in>>z;
int domes[orio];
for(int i=0;i<orio;i++){domes[i]=0;}
int k;
for(int i=0;i<2*z;i++)
{
in>>k;
domes[k-1]++;
}
int c=0;
for(int i=0;i<orio;i++)
{
if(domes[i]<2)
c++;
}
out<<c;
return 0;
}
它是关于一些地方(用数字表示)的前两个数字是地方的数量(orio)和匹配的数量(z)。这些地方以某种方式“连接”起来(毫无意义)。您应该会发现有多少地方的连接数少于 2,输出(在本例中为 c)是连接数少于 2 的地方的数量。k 是一个变量,用于临时插入每个数字并加上“看到”的次数。如果它被看到,则意味着它与另一个地方相连。我认为没有更简单的解决方案,但是我同行的一些程序需要更少的时间来运行,这让我很困扰