POJ1250解题报告
发布日期:2021-07-24 21:57:41
浏览次数:10
分类:技术文章
本文共 1318 字,大约阅读时间需要 4 分钟。
题意
题意:这个题的意思比较复杂。我大致解释一下
旅馆房间有限,先到先入住,后到后入住,用ABCDEF等字符代表单个人,第一次出现代表入住,第二次出现代表离开
这样我们就可以读懂题了,
比如input的
2 ABBAJJKZKZ 代表有两间房,一个一个读过去, 第一个是A,房给他一间,还剩一间 第二个是B ,房给他一件,没有了 第三个是B,B退房了,所以房又有一间了 第四个是A,A退房了,房又有两间了 … 依次循环,最后看有几个人来旅馆了没地方住离开了思路
就像我分析的题目意思那样
我设置了两个存储结构,第一个是char Intemp[],存储已经入住的旅客 第二个是char Outtemp[],存储离开的旅客 我把每次读进来的字符分为多种 第一种:在Intemp里面的旅客,这样我就把客房数(remain)-1;把Intemp里面的姓名抹掉 第二种:在Outtemp里面的旅客,把其在outtemp里名字抹掉 第三种,刚来能住店的旅客,把它存进Intemp里面 第四种,客满离开的旅客,把它存进Outtemp里面代码
#include#include char Intemp[1000]; //存储入住的客人名char Outtemp[1000]; //存储离开的客人名using namespace std;int Isin(char a){ //在Intemp里面查找客人名 for(int i=0;i<1000;i++){ if(Intemp[i]==a){ return 1; } } return 0;}int Isout(char a){ //在outtemp里面查找客人名 for(int i=0;i<1000;i++){ if(Outtemp[i]==a){ return 1; } } return 0;}void InsertIn(char a){ Intemp[strlen(Intemp)]=a;}void Insertout(char a){ Outtemp[strlen(Outtemp)]=a;}void LeaveIn(char a){ for(int i=0;i<1000;i++){ if(Intemp[i]==a){ Intemp[i]=' '; } }}void LeaveOut(char a){ for(int i=0;i<1000;i++){ if(Outtemp[i]==a){ Outtemp[i]=' '; } }}int main(){ int n; string s; while(cin>>n>>s && n!=0){ int remain = n;int leave=0; for(int i=0;i
转载地址:https://blog.csdn.net/qq_23100787/article/details/48418475 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月09日 00时58分45秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
centos vnc配置笔记
2021-06-30
Linux服务器网络开发模型
2021-06-30
nginx虚拟目录设置 alias 和 root
2021-06-30
理解http响应头中的Date和Age
2021-06-30
四层和七层负载均衡的区别
2021-06-30
设置Squid Cache_mem大小
2021-06-30
squid日志文件太大,怎样处理?
2021-06-30
让Squid 显示本地时间
2021-06-30
linux mysql 命令 大全
2021-06-30
清除Squid缓存的小工具
2021-06-30
Varnish Cache 3.0.0安装
2021-06-30
深入探讨Varnish缓存命中率
2021-06-30
Linux下文件如果没有权限不能被Apache访问
2021-06-30
Linux内核学习四库全书
2021-06-30
Linux内核模块编程入门
2021-06-30
使用Cacti监控你的网络Cacti的安装
2021-06-30
2011年6月编程语言关注度排行
2021-06-30
Varnish使用小结
2021-06-30
千万级并发HAproxy均衡负载系统介绍
2021-06-30