zoukankan      html  css  js  c++  java
  • Code Forces 20A BerOS file system

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

    The new operating system BerOS has a nice feature. It is possible to use any number of characters '/' as a delimiter in path instead of one traditional '/'. For example, strings //usr///local//nginx/sbin// and /usr/local/nginx///sbin are equivalent. The character '/' (or some sequence of such characters) at the end of the path is required only in case of the path to the root directory, which can be represented as single character '/'.

    A path called normalized if it contains the smallest possible number of characters '/'.

    Your task is to transform a given path to the normalized form.

    Input

    The first line of the input contains only lowercase Latin letters and character '/' — the path to some directory. All paths start with at least one character '/'. The length of the given line is no more than 100 characters, it is not empty.

    Output

    The path in normalized form.

    Examples
    input
    //usr///local//nginx/sbin
    
    output
    /usr/local/nginx/sbin
    
    遇到多个////
    只输出一个/
    #include <iostream>
    #include <string.h>
    #include <stdlib.h>
    #include <algorithm>
    #include <math.h>
    #include <stdio.h>
    
    using namespace std;
    char a[105];
    char b[105];
    int main()
    {
        gets(a);
        bool tag=0;
        int len=strlen(a);
        int cnt=0;
        for(int i=0;i<len;i++)
        {
            if(a[i]!='/')
            {
               // cout<<a[i];
                b[cnt++]=a[i];
                tag=0;
            }
    
            else
            {
                if(!tag)
                {
                    //cout<<a[i];
                    b[cnt++]=a[i];
                    tag=1;
                }
            }
        }
        if(b[0]!='/')
            cout<<'/';
        for(int i=0;i<cnt;i++)
        {
            if(i==cnt-1&&b[i]=='/'&&cnt!=1)
                continue;
           cout<<b[i];
        }
        cout<<endl;
        return 0;
    }
    


  • 相关阅读:
    ARP 协议
    3GPP 5G UPF
    OpenStack v.s. Kubernetes
    C#- FTP递归下载文件
    C#- WinForm获取 当前执行程序路径的几种方法
    C#- 布署WinForm程序
    Delphi- 连接MySQL数据库BDE
    Delphi- 内置数据库的使用例子BDE
    CSS- 兼容样式记录
    Delphi- DLL操作
  • 原文地址:https://www.cnblogs.com/dacc123/p/8228719.html
Copyright © 2011-2022 走看看