[string]Codeforces158C Cd and pwd commands

题意很清楚 和linux的语句是一样的

pwd输出路径 cd进入 ..回上一层目录

此题完全是string的应用

遍历string:

1 for(string::iterator it=str.begin(); it!=str.end(); it++

2      cout<<*it;

或者

1 for(int i=0; i<str.length(); i++)

2      cout<<str.at(i);

substr:

s=s.substr(a, b);  // 从s[a]开始往后b长度 赋给s

s=s.substr(a);     //  从s[a]开始到s.end() 赋给s

find_first_of(‘ ‘);  // 顾名思义 就是最先找到‘ ‘的位置

          没找到返回的是string::npos

find_first_not_of("ABCD"); // 最先出现除ABCD以外的字符的位置

s.back(); //**************

这个是C++11的,经测 codeblocks编译不通过 但在cf上用C++11交是能AC的

其作用相当于s.end()[-1];     //  最后一个字符位置 (非’/0‘)

s.front();同back

assign:

 1 vector<string> s;
 2 int main()
 3 {
 4     int n;
 5     scanf("%d", &n);
 6     while(n--)
 7     {
 8         string cd;
 9         cin>>cd;
10         if(cd=="pwd")
11         {
12             printf("/");
13             for(int i=0;i<s.size();i++)
14                 cout<<s[i]<<"/";
15             puts("");
16         }
17         else
18         {
19             string path;
20             cin>>path;
21             if(path.end()[-1]!=‘/‘)
22                 path+=‘/‘;
23             while(path.find_first_of(‘/‘)!=string::npos)
24             {
25                 int pos=path.find_first_of(‘/‘);
26                 string a=path.substr(0, pos);
27                 path=path.substr(pos+1);
28                 if(a=="")
29                     s.clear();
30                 else if(a=="..")
31                     s.pop_back();
32                 else
33                     s.push_back(a);
34             }
35         }
36     }
37     return 0;
38 }

Codeforcs 158C

时间: 2024-10-10 10:51:08

[string]Codeforces158C Cd and pwd commands的相关文章

VK Cup 2012 Qualification Round 1 C. Cd and pwd commands 模拟

C. Cd and pwd commands Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/problem/158/C Description Vasya is writing an operating system shell, and it should have commands for working with directories. To begin with, he dec

Linux常用命令001之ls、mkdir、cd、pwd、rmdir、rm、cp、mv、ln

001_Linux常用命令 之ls.mkdir.cd.pwd.rmdir.rm.cp.mv.ln ===================== 正 文 =============================== ××××××目录及文件命令×××××× 1.ls ls [选项] [文件或目录] 选项: -a      ----显示所有文件,包括隐藏文件 -l      ----显示详细信息(long  表示长格式显示 eg:ls -l) -d      ----查看目录属性 -h      --

liunx基础操作 &nbsp; 目录类命令:cd, ls , pwd, mkdir, rmdir

1.cd命令    是进入某一个目录的命令 用法举例:cd /etc //进入etc目录   cd ~ //返回根目录  cd .. //返回上级目录 注意事项:当前位置已经在etc下时 进入etc的子目录前面不能加"/"比如cd /etc  cd /X11 这样无法进入  /etc/X11  目录下 2.ls命令    查看当前目录下的所有元素  ll命令会呈列表显示 3.pwd命令     查看当前的位置比如我在/etc/X11目录下键入pwd命令返回值是 /etc/X11 4.m

Linux2:vi、ls、cd、pwd、mkdir、rm、mv、cp、cat、tail

前言 从本篇文章开始,每篇文章将写10个Linux命令,个人的写作想法是: 1.常用的Linux命令,那些生僻的.不常用的就不写了 2.从实际考虑,只列出每个命令常见的用法和参数选项,有兴趣了解进一步的用法可以自己上网去查询 vi Linux环境下的文本编辑器 vi基本上可以分为三种操作状态,分别是命令模式.插入模式.底线命令模式,各功能的功能区分如下: 1.命令模式 控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入插入模式 2.插入模式 只有在插入模式下,才可以做文字数据输入,按ES

命令cd,pwd,tty,whereis,which,stat,echo,shutdown,halt,reboot,powerof

命令cd 基本应用:用于linux系统中目录间的切换 格式:cd  dirname 常用选项及范例: ~:回到当前用户的家目录 ..:回到上一级目录 -:切换到之前所在目录 命令pwd 基本应用:用于显示当前目录的路径 格式:pwd 常用选项及范例: 命令tty 基本应用:显示当前连接到标准输入的终端文件名 格式:tty 常用选项及范例 命令whereis 基本应用:搜索可执行文件.源代码文件和帮助文件在系统中的位置. 格式:whereis [选项] 文件名 常用选项及范例 -b   定位可执行

Linux基础命令2:cd、pwd、ls、stat、touch、alias

cd:改变目录 语法: cd [-L|[-P [-e]]] [dir]   选项: -p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录 -L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录. - 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录. 用法: cd     进入用户主目录 cd ~   进入用户主目录 cd ~-  进入用户主目录 cd $H

vi、ls、cd、pwd、mkdir、rm、mv、cp、cat、tail

http://www.cnblogs.com/xrq730/p/4928365.html 前言 从本篇文章开始,每篇文章将写10个Linux命令,个人的写作想法是: 1.常用的Linux命令,那些生僻的.不常用的就不写了 2.从实际考虑,只列出每个命令常见的用法和参数选项,有兴趣了解进一步的用法可以自己上网去查询 vi Linux环境下的文本编辑器 vi基本上可以分为三种操作状态,分别是命令模式.插入模式.底线命令模式,各功能的功能区分如下: 1.命令模式 控制屏幕光标的移动,字符或光标的删除,

centOS命令随笔记(杂):cd、pwd

1.向上向下翻页: 反向的命令一般是Shift-PageUp和Shift-PageDown. 每日一命令:cd 1.cd /   进入系统根目录 2.cd ..   进入系统根目录可以使用“ cd .. ”一直退,就可以到达根目录 3.“当前用户主目录”和“系统根目录”是两个不同的概念.进入“当前用户主目录“有两个方法.1.cd :2.cd ~ 4.cd - 返回进入此目录之前所在的目录 每日一命令:pwd 1.pwd  查看”当前工作目录“的完整路径 2.目录连接链接时,pwd -P  显示出

cd+rm+pwd

cd-切换目录  a.cd 目录  b. 如何进入到家目录     -cd 绝对路径(/home/kevin)     -cd ~     -cd  c.在临近的两个目录之间直接切换    -最后两个相邻的    -cd -    -目录特别长的时候用的比较多 pwd -显示当前的工作目录 -rmdir○ rmdir 空目录的名字○ 矮穷矬 -rm -目录    -rm 目录名 -r     -r递归的方式处理   -删除的时候提示 -i -文件  -rm 文件名 -i -注意问题   -删除之