codeforces C. Cd and pwd commands 执行命令行
执行命令来改变路径 cd
并显示路径命令 pwd
一个节目的
抽样:
7
pwd
cd /home/vasya
pwd
cd ..
pwd
cd vasya/../petya
pwd
/
/home/vasya/
/home/
/home/petya/
原题:
http://codeforces.com/problemset/problem/158/C
考点:
操作字符串 -- 使用C++特别难的,好像java和C#都特别easy。只是使用C++能够清楚每个细节的操作
这里直接使用string容器来实现了
#include <string>
#include <iostream>
using namespace std; void Cdandpwdcommands()
{
int n;
cin>>n;
string path(1, '/');
string command;
while (n--)
{
cin>>command;
if ("cd" == command)
{
cin>>command;
if (command[0] == '/')//还要注意绝对路径
{
path = "/";
}
int i = 0;
if (command[0] == '/') i++;
while (i < (int)command.size())
{
for (; i < (int)command.size() && '.' != command[i]; i++)
path.push_back(command[i]); if (i+1 < (int)command.size() && command[i+1] == '.')
{
if (path.size() > 1 && path.back() == '/')
path.pop_back(); while (path.size() && path.back() != '/')
path.pop_back(); i += 2;
if (i < (int)command.size() && command[i] == '/')
i++;
}
else if (i < (int)command.size())
{
path.push_back(command[i++]);
}
}
if (path.empty() || path.back() != '/') path.push_back('/');
}
else if ("pwd" == command)
{
cout<<path<<endl;
}
}
}
版权声明:笔者靖心脏,景空间地址:http://blog.csdn.net/kenden23/。只有经过作者同意转载。
codeforces C. Cd and pwd commands 执行命令行的更多相关文章
- CodeForces 158C - 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 ...
- VK Cup 2012 Qualification Round 1---C. Cd and pwd commands
Cd and pwd commands time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- Python执行命令行
背景 我们知道,虽然会破坏平台独立性,但是有的时候需要在代码里面调用命令行来获取一些信息,那么了解在 Python 中如何执行命令行至关重要 使用介绍 Python 中使用命令行可以通过 subpro ...
- 【转载】在LoadRunner向远程Linux/Unix执行命令行并收集性能数据
前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”,当然连接之后的故事由你主导. 今天要讲的,是一个非Java版本.是对“在LoadRunner中执行命令行程序之:pope ...
- 执行命令行并等待完成(使用WaitForSingleObject达到目的)
function TDMDb.WaitExeFinish(const sCmdName: string):boolean; var StartupInfo: TStartupInfo; Process ...
- 如何在sublime编辑器中,执行命令行脚本
我有个愿意,在执行命令行时,不打开那个黑乎乎命令行窗口,如果编辑器内置支持就好了. 打开vs code 和 sublime,分别按快捷键 Ctrl + ·(tab键上面那个键),vs code可以提供 ...
- UNIX环境编程学习笔记(22)——进程管理之system 函数执行命令行字符串
lienhua342014-10-15 ISO C 定义了 system 函数,用于在程序中执行一个命令字符串.其声明如下, #include <stdlib.h> int system( ...
- 在LoadRunner向远程Linux/Unix执行命令行并收集性能数据
前面介绍过在LoadRunner的Java协议实现“使用SSH连接Linux”,当然连接之后的故事由你主导. 今天要讲的,是一个非Java版本.是对“在LoadRunner中执行命令行程序之:pope ...
随机推荐
- 使用const 提高函数的健壮性
1.如果输入参数采用“指针传递”,那么加const 修饰可以防止意外地改动该指针指向的内存单元,起到保护的作用. 例如:void StringCopy(char *strDest, const cha ...
- GridView控件的光棒效应
// 光棒效应 protected void gvBookInfos_RowDataBound(object sender, GridViewRowEventArgs e) { if(e.Row.Ro ...
- (转)VS无法启动调试:“生成下面的模块时,启用了优化或没有调试信息“
中调试项目遇到错误提示,Visual Studio 2010(或VS2008或VS2005)启动调试的时候,弹出提示信息: 生成下面的模块时,启用了优化或没有调试信息: C:\WINDOWS\Micr ...
- C#高级知识点概要(2) - 线程并发锁
本文目录: 线程的简单使用 并发和异步的区别 并发控制 - 锁 线程的信号机制 线程池中的线程 案例:支持并发的异步日志组件 线程的简单使用 常见的并发和异步大多是基于线程来实现的,所以本文先讲线程的 ...
- POJ 3045 Cow Acrobats (贪心)
POJ 3045 Cow Acrobats 这是个贪心的题目,和网上的很多题解略有不同,我的贪心是从最下层开始,每次找到能使该层的牛的风险最小的方案, 记录风险值,上移一层,继续贪心. 最后从遍历每一 ...
- 公众号的秘密,知道一个biz就够了
公众号的秘密,知道一个biz就够了 微信对于我来说,最有价值的是一个学习渠道,特别是搜狗微信搜索(http://weixin.sogou.com/)能够很方便的搜索公众账号和文章内容,PC端就能够获得 ...
- angular json转义html
第一步json输出的内容反编码 function htmldecode(s){ var div = document.createElement('div'); div.innerHTML = s; ...
- Ajax调用返回json,xml数据类型(0517--pm)
一.返回Json型数据: 1.主页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- 关于t分布的证明
- CSAPP--优化程序性能
一.编写高效的程序: 1.选择合适的算法和数据结构. 2.编写出编译器能够有效优化以转换为高效可执行的源代码. 3.并行计算.当然重点还是第一个,良好的算法和数据结构大大减小了程序的时间复杂度. 二. ...