ACM-FZUoj2009-1573解题报告

本文介绍了一种解决大学自习室特定座位选择问题的算法。该算法需满足座位旁有空位、远离过道及位于最后一排等条件,并通过实例说明了如何实现这一算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新浪博客 发表时间 --2009-07-27 20:13:25

大学自习室

<wbr>算法:</wbr>

<wbr><wbr><wbr><wbr><wbr><wbr>这道题我做了好久....一直被误导着<img src="http://simg.sinajs.cn/blog/images/face/018.gif" alt="ACM-FZUoj2009-1573解题报告" title="ACM-FZUoj2009-1573解题报告" style="margin-top:0px; margin-right:0px; margin-bottom:0px; margin-left:0px; padding-top:0px; padding-right:0px; padding-bottom:0px; padding-left:0px; border-top-width:0px; border-right-width:0px; border-bottom-width:0px; border-left-width:0px; border-style:initial; border-color:initial; list-style-type:none; list-style-position:initial">....题目要求找座位,找出Roam满足的座位,给出了三个条件..</wbr></wbr></wbr></wbr></wbr></wbr>

  1. 旁边有另一个空座位,可以是左边,也可以是右边(放书包用的...);
  2. 为了环境相对稳定,满足要求1的同时,Roam的座位必须是离两边过道最远的;
  3. 在教室的最后一排 (-__-!)。

然后有约定了几个条件:

  1. 只考虑教室最后一排中间部分的座位,两边就是过道;
  2. 每个座位都有一个编号,若有N(1<=N<=50)个座位,则座位编号从左到右依次为 0,1,2,…,N-1.
  3. 输入数据使用一个长度等于座位数的字符串 Seat 表示,字符串中的每一个字符对应一个座位的状态,其中的E(大写字母)表示座位没人,P(大写字母)表示座位已经有人了。

<wbr><span style="word-wrap:normal; word-break:normal; line-height:18px; font-size:12px"><wbr></wbr></span></wbr>

数据输入

输入包括多组数据。
每组数据输入数据的第一行是一个数字N,(1<=N<=50),表示该教室最后一排有N个座位。第二行是一个字符串,表示字符串seat。

输出数据

对于每组输出数据,输出只有一行,即为你所找到的座位的编号。如果有多个符合条件的座位,则仅输出其中编号最小的那个。

  • 如果有多个符合条件的座位,则仅输出其中编号最小的那个;
  • 如果不存在这样的座位,输出-1。

算法:

<wbr><wbr><wbr>1.先用数组接收字符串,再把数组赋给已赋初值的的数组,存储接收的字符。。。</wbr></wbr></wbr>

<wbr><wbr><wbr>2.以座位旁必须有空座位为条件(我就是被这个给害的,当只有‘E’时也输出0了,但它应该输出的是-1),当数组里有两个相邻元素都为‘E’时,就把为‘E’的两个位置记录下来,分别存放到另一个数组,数组下标对应位置值。。</wbr></wbr></wbr>

<wbr><wbr><wbr><wbr>3.设置一个变量p=0,来和前面出现‘E’的位置一起与中点相减取绝对值比较,即fabs(b[i]-(k-1)/2)&lt;fabs(p-(k-1)/2),k为数组长度,p就是变量了,如果为真的话就把p=b[i],然后输出p..</wbr></wbr></wbr></wbr>

<wbr><wbr>4.特殊情况,当测试数据为‘E’'E'时要输出0..</wbr></wbr>

代码:

<wbr><wbr>暂时存起来...有需要的朋友给我留言.....</wbr></wbr>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值