|
发表于 2023-7-29 19:04:18
|
显示全部楼层
艹,我的代码也是55分
- #include <bits/stdc++.h>
- using namespace std;
- int n, maohaonum, dianhaonum, h[12], t, wei;
- string op, ad;
- map <string, int> p;
- int main() {
- cin >> n;
- for (int i = 1; i <= n; i++) {
- cin >> op >> ad;
- maohaonum = 0;
- dianhaonum = 0;
- memset(h, 0, sizeof(h));
- t = 0;
- wei = 0;
- if (op == "Server") {
- for (int j = 0; j < ad.size(); j++) {
- if (ad[j] >= '0' && ad[j] <= '9') {
- t += ad[j] - '0';
- t *= 10;
- } else {
- t /= 10;
- h[wei] = t;
- wei++;
- t = 0;
- }
- if (ad[j] == '.') dianhaonum++;
- if (ad[j] == ':') maohaonum++;
- }
- t /= 10;
- h[wei] = t;
- if (dianhaonum != 3 || maohaonum != 1) {
- cout << "ERR" << endl;
- } else if (p[ad] >= 1) {
- cout << "FAIL" << endl;
- } else {
- cout << "OK" << endl;
- p[ad] = i;
- }
- } else {
- for (int j = 0; j < ad.size(); j++) {
- if (ad[j] >= '0' && ad[j] <= '9') {
- t += ad[j] - '0';
- t *= 10;
- } else {
- t /= 10;
- h[wei] = t;
- wei++;
- t = 0;
- }
- if (ad[j] == '.') dianhaonum++;
- if (ad[j] == ':') maohaonum++;
- }
- t /= 10;
- h[wei] = t;
- if (dianhaonum != 3 || maohaonum != 1 || h[0] > 255 || h[1] > 255 || h[2] > 255 || h[3] > 255 || h[4] > 65535) {
- cout << "ERR" << endl;
- } else if (p[ad] != 0) {
- cout << p[ad] << endl;
- } else {
- cout << "FAIL" << endl;
- }
- }
- }
- return 0;
- }
复制代码 |
|