特别水的一道题,关键题目描述有问题,应该5步也可以。。。
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int a[1010];
int main()
{
int n,f,i,j,num;
while(~scanf("%d",&n))
{
memset(a,-1,sizeof(a));
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
if(n%2!=0)
{
printf("0\n");
continue;
}
for(i=1;i<n;i++)
{
if(a[i]==-1) continue;
num=0;f=0;
for(j=i+1;j<=n;j++)
{
if(a[j]==-1) continue;
num++;
if(num>5) break;
if(a[i]==a[j]) f=1,a[i]=a[j]=-1;
}
if(f==0) break;
}
printf("%d\n",f);
}
return 0;
}
本文分享了一道算法题的解答思路与代码实现,题目存在描述问题,实际可以通过较少步骤解决。通过C++代码展示了如何在特定条件下找到匹配元素并标记它们。

358

被折叠的 条评论
为什么被折叠?



