求助(60/100)
查看原帖
求助(60/100)
415445
雨伞CKY楼主2022/4/4 22:10

以下是我的代码,通过 unordered_map 类实现查询和插入。

#include <cctype>
#include <cstdio>
#include <unordered_map>
using namespace std;

int read(){
    int tmp = 0;
    char ch = getchar();
    while (!isdigit(ch)) ch = getchar();
    while (isdigit(ch)){
        tmp = (tmp << 3) + (tmp << 1) + (ch ^ '0');
        ch = getchar();
    }
    return tmp;
}

void write(int x){
    if (x < 0){
        putchar('-');
        x = -x;
    }
    if (x > 9) write(x / 10);
    putchar(x % 10 + '0');
}

int T,n,tmp;
unordered_map<int,bool> mp;

int main(){
    T = read();
    for (int i = 1;i <= T;i++){
        mp.clear();
        n = read();
        for (int j = 1;j <= n;j++){
            tmp = read();
            if (!mp[tmp]){
                mp[tmp] = true;
                write(tmp);
                putchar(' ');
            }
        }
        putchar('\n');
    }
    return 0;
}

代码得 6060 分,剩余 44 个测试点均提示:

Wrong Answer.wrong answer On line 1 column 33, read 4, expected -.

原本以为是快速输出的问题,但是试了 printf(/* ... */) 函数,发现结果仍旧一样。

2022/4/4 22:10
加载中...