蒟蒻求助
  • 板块CF291A Spyke Talks
  • 楼主L_andy
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/10/11 19:39
  • 上次更新2023/10/27 07:52:07
查看原帖
蒟蒻求助
639479
L_andy楼主2022/10/11 19:39

用map做的,不会解决重复的问题,开数组肯定会MLE。

#include <bits/stdc++.h>

using namespace std;

struct node{
	int val;
	bool flag;	
};
map<int,int> mp;

int main()
{
    int n,cnt=0;
    scanf("%d",&n);
    node a[1+n];
    for (int i=1;i<=n;i++) 
    {
        scanf("%d",&a[i].val);
        int x=a[i].val;
        mp[x]++;
        a[i].flag=0;
        if(mp[a[i].val]==3)
        {
            printf("-1\n");
            return 0;
        }
    }
    for (int i=1;i<=n;i++)
    {
        if(mp[a[i].val]==2&&a[i].flag==0) 
		{
			cnt++;
			a[i].flag=1;
			cout<<"a[i]:"<<a[i].val<<' '<<mp[a[i].val]<<endl;
    	}
	}
    printf("cnt:%d\n",cnt);
    return 0;
}

因为这个人是个蒟蒻,所以连红题都不会做。

2022/10/11 19:39
加载中...