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;
}