全部评论 1

  • 是不是..........
    #include<iostream>
    #include<algorithm>
    #include<set>
    using namespace std;
    int main(){
    int t;
    cin>>t;
    while(t--){
    int n;
    cin>>n;
    int s[105];
    for(int i=0;i<n;i++) cin>>s[i];
    set<int> st;
    set<int> used; //记录该绝对值是否已经放过正数版本
    for(int i=0;i<n;i++){
    int x=s[i];
    int cnt=count(s,s+n,x);
    int absx=abs(x);
    int val;
    if(cnt>=2){
    if(x==0){
    val=0;
    }else if(!used.count(absx)){
    val=x;
    used.insert(absx);
    }else{
    val=-x;
    }
    }else{
    val=x;
    }
    st.insert(val);
    }
    cout<<st.size()<<endl;
    }
    return 0;
    }

    1周前 来自 湖南

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页