对于此题,我的心近乎崩溃

这道题,注意点没有什么,相信大佬们是可以自己写出来的 我是蒟蒻,那我是怎么写出来的啊

好了,废话少说,开始进入正题

这道题,首先我想到的是字符串的 erase 函数,一边运行一边删除多余的字符

但是……

在删除的同时,串长也会变化啊!!( 绝望

所以,在直接删的情况下:

for 不能用……

while 不能用……

do while 不能用……

这里,我又想到了……

正难则反

不减掉字符,就可以再定义一个字符串 ( 空串 ) 把满足的字符加进字符串里呀!!

这样,我们又可以得出满足字符的条件:

· 上一个字符不是 ' / ' ,但是这一个字符是 ' / '

· 数字

最后,如果最后一个字符是 ' / ' ,就删去它

所以,我们得出了核心代码:

ans+=s[0];
for(i=1;i<len;i++){
    if((s[i-1]!='/'&&s[i]=='/')||s[i]!='/')
        ans+=s[i],k++;
}
if(ans[k]=='/')
    ans.erase(k);

很简单吧?

但是,你把代码放上去测,明显地……

WA辣!

证据:

所以,我们留意到了特殊情况:

如果你输入了

/////

出来的是

nothing?

What ? 没有结果?

我瞬间认识到了:

我需要特判!!

所以,改进代码如下:

if(ans=="")//如果全是 '/' ,删完了的话
    cout<<"/";
else
    cout<<ans;

就这样结束了?

好像是的

所以,放出代码最终版:

#include<bits/stdc++.h>
using namespace std;//本蒟蒻总会写
int i,len,k;
string s,ans;
int main(){
    getline(cin,s);
    len=s.size();
    ans+=s[0];
    for(i=1;i<len;i++){
        if((s[i-1]!='/'&&s[i]=='/')||s[i]!='/')
            ans+=s[i],k++;//记下ans有多少位
    }
    if(ans[k]=='/')
        ans.erase(k);//erase函数,温习一下
    if(ans=="")
        cout<<"/";
    else
        cout<<ans;
    return 0;
}

OI 加油!洛谷冲鸭!

题解 CF20A 【BerOS file system】的更多相关文章

  1. Code Forces 20A BerOS file system

    A. BerOS file system time limit per test 2 seconds memory limit per test 64 megabytes input standard ...

  2. BerOS file system

    The new operating system BerOS has a nice feature. It is possible to use any number of characters '/ ...

  3. CDOJ_327 BerOS file system

    原题地址:http://acm.uestc.edu.cn/#/problem/show/327 The new operating system BerOS has a nice feature. I ...

  4. BerOS File Suggestion(字符串匹配map)

    BerOS File Suggestion(stl-map应用) Polycarp is working on a new operating system called BerOS. He asks ...

  5. Design and Implementation of the Sun Network File System

    Introduction The network file system(NFS) is a client/service application that provides shared file ...

  6. 乌版图 read-only file system

    今天在启动虚拟机的时候,运行命令svn up的时候,提示lock,并且read-only file system,这个....我是小白啊,怎么办?前辈在专心写代码,不好打扰,果断找度娘啊 于是乎,折腾 ...

  7. File system needs to be upgraded. You have version null and I want version 7

    安装hbase时候报错: File system needs to be upgraded. You have version null and I want version 7 注: 我安装的hba ...

  8. Linux系统启动错误 contains a file system with errors, check forced解决方法

    /dev/sda1 contains a file system with errors, check forced./dev/sda1: Inodes that were part of a cor ...

  9. Linux 执行partprobe命令时遇到Unable to open /dev/sr0 read-write (Read-only file system)

    在使用fdisk创建分区时,我们会使用partprobe命令可以使kernel重新读取分区信息,从而避免重启系统,但是有时候会遇到下面错误信息"Warning: Unable to open ...

随机推荐

  1. EOS 多主机多节点配置终极命令

    eosio 10.186.11.211 hml 10.186.11.223 lwz 10.186.11.220 lx 10.186.11.141 //eosio private key 5K463yn ...

  2. react native 安卓生产包无法获取线上数据

    android:usesCleartextTraffic="true"

  3. php使用百度地图API

    首先注册百度开发者平台账号,创建应用获取AK 不同的应用功能不同,一定要注意,没有的功能调用会提示APP被禁用 根据开发文档使用 给出例子:百度地图WEB api http://lbsyun.baid ...

  4. thinphp5会员注册邮箱验证

    1.首先完成邮箱发送http://www.cnblogs.com/jcydd/p/7299750.html 2.在完成会员新增后执行后置函数,在模型类当中 //注册后置函数 protected sta ...

  5. POJ1021 2D-Nim

    题目来源:http://poj.org/problem?id=1021 题目大意: 有一种在棋盘上玩的游戏,每一步,一个玩家可以从棋盘上拿走连续行或列的棋子.谁拿到最后一颗棋子就胜利.如下图所示的棋盘 ...

  6. Luogu P2455 [SDOI2006]线性方程组 真•高斯消元板子

    果然如Miracle学长所说...调了一天...qwq..还是过不了线下的Hack upd after 40min:刚刚过了 就是多了一个判无解的操作... 当系数都为0,且常数项不为0时,即为无解. ...

  7. 二次开发php

    AB模板  http://www.adminbuy.cn/ 码源 (站长之家)http://down.chinaz.com/ 易无袖资源 http://www.ewuxiu.com/ A5码源 htt ...

  8. Nginx负载均衡与反向代理的配置实例

    user www www; worker_processes 10; error_log /data1/logs/nginx_error.log crit; pid /usr/local/webser ...

  9. Shell 学习—AWK介绍

    Shell 学习—AWK = = = 安装awk root@kiki-desktop:~/shell# apt-get install gawk gawk-doc = = = awk 是一种程序语言. ...

  10. maven相关说明,以及使用Testng相关

    配置Apache Maven Apache Maven使用本身的配置和建立的项目位于许多地方: MAVEN_OPTS环境变量: 该变量包含用于启动运行Maven的JVM的参数,可用于向Maven提供其 ...