题解 CF1325B 【CopyCopyCopyCopyCopy】

(Solution:)

这道题其实就是问你在给定的序列里有多少个不重复的字符(看透一切qwq,所以我就用了 (operatorname{sort})(operatorname{unique}) 两个 (STL) 函数((STL) 大法吼qwq,但是因为我过于蒟蒻,所以第一遍竟然错了(手动泪奔,但是经过改正,最终还是通过一些玄学手段将这道题 (AC)

(code:)

#include<bits/stdc++.h>//万能头文件
using namespace std;//标准数据库
inline int read()//快速读入
{
    int x=0;bool f=1;char c=getchar();
    while(c<'0' || c>'9'){if(c=='-') f=0;c=getchar();}
    while(c>='0' && c<='9') x=(x<<3)+(x<<1)+(c^48),c=getchar();
    return f?x:-x;
}
int T,n,a[100010],ans;
int main()
{
    T=read();//读入数据组数
    while(T--)
    {
        ans=0;//初始化ans
        n=read();//输入 n,表示有 n 个数
        for(int i=0;i<n;i++) a[i]=read();//输入当前序列
        sort(a,a+n);//将当前序列排序
        unique(a,a+n);//将当前序列去重
        for(int i=0;i<n && a[i-1]<a[i];i++) ans++;
        //计数器累加,判断有多少个不同的数
        printf("%d
",ans);//输出答案
    }
    return 0;
}

如果这篇文章给予了你帮助,那你就点个赞再走吧,Thanks♪(・ω・)ノ

原文地址:https://www.cnblogs.com/ForeverOIer/p/12660365.html