普通的模拟题,数据很小,基本排除超时超空间的可能

上代码:

#include<bits/stdc++.h>
#define LL long long
using namespace std;
vector<pair<int,string>>sv;//用于存储Server,sv[i].first代表Server编号, sv[i].second代表Server地址
int turn(string str){//string转int
if(str.size()>5||str.size()==0)return -1;
if(str.size()>1&&str[0]=='0')return -1;
int v=1,sum=0;
stack<int>num;//存储每一位数
for(int c:str){//入栈
num.push(c-'0');
}
while(!num.empty()){//遍历
int w=num.top();
num.pop();
sum+=w*v;//当前数乘权值
v*=10;
}
return sum;
}
bool check(string str){
string s[10];
int cnt=1,cnt1=0,cnt2=0;//cnt为地址分段数(即将ip以'.'或':'为间隔分成cnt段) ,cnt1为'.'数量, cnt2为':'数量
for(int i=0;i<str.size();i++){
if(str[i]=='.'){
if(cnt2)return 0;//若前方出现过':' ,返回0
cnt1++;
cnt++;
}else if(str[i]==':'){
if(cnt1!=3)return 0;//若前方没有3个'.' ,返回0
cnt2++;
cnt++;
}else s[cnt]+=str[i]; }
if(cnt!=5)return 0;//若地址数量不等于五
if(cnt1!=3||cnt2!=1)return 0;//若'.'数量不为三或':'数量不为1
for(int i=1;i<cnt;i++){
int num=turn(s[i]);
if(!(0<=num&&num<=255))return 0;
if(num==-1)return 0;
}
if(!(0<=turn(s[5])&&turn(s[5])<=65535))return 0;
return 1;
}
int find(string str){//在Servers中寻找地址为str的Server
for(pair<int,string> w:sv){
if(w.second==str){//找到地址
return w.first;//返回下标
}
}
return 0;//不存在,返回特殊值0(地址从1开始)
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
string op,ad;
cin>>op>>ad;
if(!check(ad)){
cout<<"ERR"<<endl;
continue;
}
if(op=="Server"){
if(find(ad)){//巧妙利用整数转布尔值非0值为1的特性
cout<<"FAIL"<<endl;//服务器存在,连接失败
}else{
cout<<"OK"<<endl;
sv.push_back({i,ad});//服务器连接成功
}
}else{
int get=find(ad);//sv中地址为ad的Server的数量
if(get){//若该Server存在
cout<<get<<endl;
}else cout<<"FAIL"<<endl;//连接失败
}
} return 0;
}

原题链接

洛谷P7911 [CSP-J 2021] 网络连接题解的更多相关文章

  1. LuoguP7911 [CSP-J 2021] 网络连接 题解

    Content 题目过于难解释,请前往题面查看.以下直接给出本题做法. Solution 入门组 T3 在我印象中向来都不是很容易能做出来的题目,但是今年这个 T3 不得不说还是挺好做的. 我们先不妨 ...

  2. 洛谷P1484 种树&洛谷P3620 [APIO/CTSC 2007]数据备份 题解(堆+贪心)

    洛谷P1484 种树&洛谷P3620 [APIO/CTSC 2007]数据备份 题解(堆+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/132 ...

  3. 洛谷P3376【模板】网络最大流 ISAP

    这篇博客写得非常好呀. 传送门 于是我是DCOI这一届第一个网络流写ISAP的人了,之后不用再被YKK她们嘲笑我用Dinic了!就是这样! 感觉ISAP是会比Dinic快,只分一次层,然后不能增广了再 ...

  4. 洛谷P3387 【模板】缩点 题解

    背景 今天\(loj\)挂了,于是就有了闲情雅致来刷\(luogu\) 题面 洛谷P3387 [模板]缩点传送门 题意 给定一个\(n\)个点\(m\)条边有向图,每个点有一个权值,求一条路径,使路径 ...

  5. [NOI导刊2010提高&洛谷P1774]最接近神的人 题解(树状数组求逆序对)

    [NOI导刊2010提高&洛谷P1774]最接近神的人 Description 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某 ...

  6. BZOJ4943 & 洛谷3823 & UOJ315:[NOI2017]蚯蚓排队——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4943 http://uoj.ac/problem/315 https://www.luogu.or ...

  7. BZOJ1229 & 洛谷2917:[USACO2008 NOV]toy 玩具 & 洛谷4480:[BJWC2018]餐巾计划问题——题解

    标题很长emmm…… [USACO2008 NOV]toy 玩具 https://www.luogu.org/problemnew/show/P2917 https://www.lydsy.com/J ...

  8. BZOJ3675 & 洛谷3648 & UOJ104:[Apio2014]序列分割——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3675 https://www.luogu.org/problemnew/show/P3648 ht ...

  9. 洛谷 P2253 好一个一中腰鼓! 题解

    P2253 好一个一中腰鼓! 题目背景 话说我大一中的运动会就要来了,据本班同学剧透(其实早就知道了),我萌萌的初二年将要表演腰鼓[喷],这个无厘头的题目便由此而来. Ivan乱入:"忽一人 ...

  10. 洛谷P5664 Emiya 家今天的饭 题解 动态规划

    首先来看一道题题: 安娜写宋词 题目背景 洛谷P5664 Emiya 家今天的饭[民间数据] 的简化版本. 题目描述 安娜准备去参加宋词大赛,她一共掌握 \(n\) 个 词牌名 ,并且她的宋词总共有 ...

随机推荐

  1. Python— 函数

    函数定义: 示例: # 求 1 - n 的和 def sum(date): sum = 0 for i in range(1,date + 1): sum += i return sum # 函数调用 ...

  2. FB 汉化版恢复慢速更新

    汉化版将恢复慢速更新 -------------------------[Q群]------------------------ 1 群: 11675361 2 群: 47642719 ------- ...

  3. mysql进阶-锁

    锁 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(CPU.RAM.I/O)的争用以外,数据也是一种供许多用户共享的资源. 如何保证数据并发访问的一致性.有效性 ...

  4. 五分钟一百行代码,手写一个vue项目全局通用的toast提示组件

    前言: 我们已经分享过如何快速实现自己需要的全局弹框组件: 在开发 Vue 项目时,特别是H5页面的项目,还有一个组件是我们非常常用的,它相对弹框来说没有那么大,并且不需要手动关闭在需要更简洁的提示用 ...

  5. 一文彻底弄懂并解决Redis的缓存雪崩,缓存击穿,缓存穿透

    缓存雪崩.缓存击穿.缓存穿透是分布式系统中使用缓存时,常遇到的三类问题,都会对系统性能和稳定性产生严重影响.下面将详细介绍这三者的定义.产生原因.危害以及常见的解决方案. 1. 缓存雪崩 1.1 定义 ...

  6. C++ mutable与常对象语义详解

    摘编自 <Effective C++> 条款三. "成员函数如果是const" 或者 "一个对象是const对象"到底意味什么?有两个流行概念:bi ...

  7. 【斩虫】Hadoop中作业执行刚开始就挂掉的两种情况

    开门见山. 最近在搭建基于 Hadoop 3.3.6 的高可用集群时,遇到了虽然守护进程能正常启动,但是提交 WordCount 示例程序后作业没有办法启动执行的情况(刚开始就挂了),查看日志发现主要 ...

  8. DRF请求的生命周期

    作为一个工作3年左右的码农,在各种框架的摸爬滚打中,我也接触了不少前端后端的技术栈,其中DRF算是我后端日常工作中的用得最多的框架.今天就简单聊聊DRF请求的生命周期.由于篇幅原因,我在此篇文章中只是 ...

  9. ClearCLIP:倒反天罡,删除两个组件反而可以提升密集预测性能 | ECCV'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: ClearCLIP: Decomposing CLIP Representations for Dense Vision-Language I ...

  10. 使用 ollama 在本地试玩 LLM

    在 chatGPT 的推动下.LLM 简直火出天际,各行各业都在蹭.听说最近 meta 开源的 llama3 模型可以轻松在普通 PC 上运行,这让我也忍不住来蹭一层.以下是使用 ollama 试玩 ...