CodeForces 20A 题解

题解笔记

CF20A BerOS file system(BerOS.cpp)

时间限制 \(2s\) | 内存限制 \(64M\)

题目描述:

给出一个电脑路径,连续的多个/可以被简化为一个/,且路径末的/可以省略,请输出简化后的最短的可能的路径。

输入格式:

一行,仅包含小写字母和/的字符串,保证路径至少含有一个/,不超过 \(100\) 个字符。

输出格式:

一行,一个字符串,表示简化后的路径。

输入输出样例:

样例1输入 样例1输出
//usr///local//nginx/sbin /usr/local/nginx/sbin

解题思路:

很简单,就是模拟。首先先删去地址开头的/。然后再扫一遍字符串,如果发现出现了/,就先输出一个/,然后把后面连续的/都删除掉

参考代码:

#include<iostream>
#include<cstring>
#include<string>
using namespace std;

string a;

int main(){
    cin>>a;
    int la=a.length();
    while(a[la-1]=='/'&&la!=1) la--;
    for(int i=0;i<la;i++){
        if(a[i]!='/') putchar(a[i]);
        else
        {
            putchar('/');
            while(a[i]=='/') i++;
            i--;
        }
    }
    return 0;
}
posted @ 2021-11-12 20:19  yhang323  阅读(30)  评论(0编辑  收藏  举报