社区讨论
求助,具体思路参照第二篇题解
P7911[CSP-J 2021] 网络连接参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo10usnd
- 此快照首次捕获于
- 2023/10/22 13:22 2 年前
- 此快照最后确认于
- 2023/11/02 12:51 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
map<string , int>mp;
bool check(char p[])
{
int a = -1 , b = -1 , c = -1 , d = -1 , e = -1;
int n = sscanf(p , "%d.%d.%d.%d:%d" , &a , &b , &c , &d , &e);
if(n != 5) return 0;
if (a < 0 || a > 255) return 0;
if (b < 0 || b > 255) return 0;
if (c < 0 || c > 255) return 0;
if (d < 0 || d > 255) return 0;
if (e < 0 || e > 255) return 0;
char pp[110];
sprintf(pp , "%d.%d.%d.%d:%d" , a , b , c , d , e);
if (strcmp(pp , p) == 0)
{
return 1;
}
return 0;
}
int main(void)
{
int T;
scanf("%d" , &T);
for (int i = 1 ; i <= T ; i++)
{
char op[110] , s[110];
scanf("%s%s" , op , s);
string t(s);
if (op[0] == 'S')
{
if (check(s) == 0)
{
printf("ERR\n");
continue;
}
else
{
if (mp.count(t) != 0)
{
printf("FAIL\n");
continue;
}
else
{
printf("OK\n");
mp[t] = i;
continue;
}
}
}
else
{
if (check(s) == 1) printf("ERR\n");
else if(mp.count(t) == 0) printf("FAIL\n");
else printf("%d\n" , mp[t]);
}
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...