记录编号 570856 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [CSP 2021J]网络连接 最终得分 100
用户昵称 Gravatarlihaoze 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2022-04-20 21:29:51 内存使用 0.00 MiB
显示代码纯文本
#include <bits/stdc++.h>
#define OPEN(x) freopen(#x".in", "r", stdin); freopen(#x".out", "w", stdout)

int n;
std::unordered_map<std::string, int> mp;
std::string s[6], str, op;
std::regex r("(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5]):(\\d|[1-9]\\d{1,3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])");

int main() {
    OPEN(csp2021pj_network);
    scanf("%d", &n);
    for (int i = 1; i <= n; ++ i) {
        std::cin >> op >> str;
        if (!regex_match(str, r)) {
            puts("ERR");
            continue;
        }
        if (op[0] == 'S') {
            if (mp[str]) puts("FAIL");
            else mp[str] = i, puts("OK");
        } else {
            if (!mp[str]) puts("FAIL");
            else printf("%d\n", mp[str]);
        }
    }
    return 0;
}