Welcome to Liukejie's|

liukejie

园龄:1年8个月粉丝:5关注:11

2023-07-01 11:21阅读: 7评论: 0推荐: 0

AT2299 [ARC068B] Card Eater 题解

题目传送门


思路

这道题我们可以开一个桶,

统计一共有多少个不同的数。

如果个数是偶数的话,

最后的答案要 1

比如样例

5
1 2 1 3 7

不同的数有 4 个。

但是我们在操作中要多删掉一个数,

所以答案要 1


代码如下:

#include <stdio.h>

const int N = 1e5 + 10;

int n, t;
int sum;
int a[N];

main () {
	scanf ("%d", &n) ;
	
	for (int i = 1; i <= n; i ++)  {
		scanf ("%d", &t) ;
		++ a[t];
	}
		
	for (int i = 1; i <= N - 1; ++ i)
		if (a[i] != 0)
			sum ++;
            
	printf ("%d", (sum & 1) ? sum : sum - 1) ;
}

完结撒花 ∼∼∼

posted @   liukejie  阅读(7)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起