/ Vijos / 题库 / 1622 / 文件查找(HOI)
/ Vijos / 题库 /1622/文件查找(HOI)
描述
WINDOWS是一个很庞大的操作系统(当然啦,看占的硬盘空间就知道了),比如说,它的文件查找系统。现在,请你用PASCAL或者C或者C++模拟一下这个操作过程。为了降低难度,所有的文件夹名和文件名都是小写和数字,且不考虑盘符,而且也不会有WINDOWS禁止出现在文件名中的字符。同时,为了增加难度,每个文件夹内可能有重名的文件(夹)。当然,不能让用户等太久,你的程序要在1秒内找到用户要的文件。
格式
输入格式
输入文件filesearch.in包含多行,第一行是用户查找的文件名,该文件名不会含WINDOWS禁止出现在文件名中的字符,一定带符号”.”;第二行开始输入一个或多个文件夹的相关信息。文件夹的相关信息用以下格式输入:
文件夹名(中间无空格,且无符号“.”(小数点))+ 一个空格+文件夹内的文件数(包括文件夹),如果文件夹内还有子文件夹,换行后先输入该子文件夹内容再输入父文件夹内的其他文件夹或文件。每个文件名都带符号“.”。具体请看样例。
输出格式
输出所查找文件的路径,一定在至少一个文件夹的目录下。以WINDOWS地址的表示方法表示(“\”),如果有多个文件,按输入时的顺序输出。每输出一个文件的路径换一行。
样例1
样例输入1
hoi.pas
hoi 2
hoi 0
hoi.pas
hoi.pas
样例输出1
hoi\hoi.pas
hoi.pas
样例2
样例输入2
chroi.pas
chroi 2
hoi 1
chroi.pas
chroi 1
hoi.pas
样例输出2
chroi\hoi\chroi.pas
限制
各个测试点1s
提示
【数据范围】
对于50%的数据,输入文件的行数小于100。
对于100%的数据,输入文件的行数小于3000,且每行均少于25个字符。
来源
HOI 2009
递归:
string find函数:
find函数的返回值是整数,假如字符串存在包含关系,其返回值必定不等于npos;但如果字符串不存在包含关系,那么返回值就一定是npos。
网络来源:https://blog.csdn.net/cheer_zhang/article/details/77455704
#include<iostream>
#include<queue>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stack>
#include<vector>
#define N 2000
using namespace std; void in(int &x){
register char c=getchar();x=;int f=;
while(!isdigit(c)){if(c=='-') f=-;c=getchar();}
while(isdigit(c)){x=x*+c-'';c=getchar();}
x*=f;
} string an,s,ans[N];
string S[N];
bool flg=;
void dg(int cnt){
s="";
while(cin>>s) break;
if(s=="") {flg=;return;}
S[cnt]=s;
int l=s.length();
if(s.find('.')!=string::npos){
if(s==an){
for(int i=;i<=cnt-;i++) cout<<S[i]<<"\\";
cout<<an<<"\n";
}
}
else {
int p;
cin>>p;
for(int i=;i<=p;i++)
dg(cnt+);
}return;
}
int main()
{
cin>>an;
while(){
dg();
if(flg) break;
}return ;
}
/ Vijos / 题库 / 1622 / 文件查找(HOI)的更多相关文章
- / Vijos / 题库 /1250 / 最勇敢的机器人
/ Vijos / 题库 /1250 / 最勇敢的机器人 借鉴博客:http://www.cnblogs.com/chty/p/5830516.html 背景 Wind设计了很多机器人.但是它们都认为 ...
- Vijos / 题库 / 输油管道问题
背景 想念car的GF,car就出了道水题! 描述 某石油公司计划建造一条由东向西的主输油管道.该管道要穿过一个有n 口油井的油田.从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连.如果 ...
- OnlineJudge 离线题库采集
过段时间要把以前的OJ换掉,我负责VirtualJudge的部分.需要用C与PHP写一个Linux下的VJudge. 在此之前,将以前写给自己学弟学妹用的OJ离线题库的采集程序改进了一下.支持国内一些 ...
- Ocr答题辅助神器 OcrAnswerer4.x,通过百度OCR识别手机文字,支持屏幕窗口截图和ADB安卓截图,支持四十个直播App,可保存题库
http://www.cnblogs.com/Charltsing/p/OcrAnswerer.html 联系qq:564955427 最新版为v4.1版,开放一定概率的八窗口体验功能,请截图体验(多 ...
- 分享一个文件查找、替换制定的字符或数字之CS程序、附带源码
首先就上操作流程图: 图--登陆界面.登陆密码:alidoing.com 图--界面说明(一看就懂) 图--文件查找到再替换 图--文件替换成功 图--替换后的文件 代码开始: 登陆的代码就非常简单. ...
- Linux题库练习
转一个Linux的题库供自己学习使用(滑稽) 转自:http://www.linuxdiyf.com/view_202485.html 选择题1 在终端下输入mount -a命令的作用是:CA 强制进 ...
- leetcode题库
leetcode题库 #题名题解通过率难度出现频率 1 两数之和 46.5%简单2 两数相加 35.5%中等3 无重复字符的最长子串 31.1%中等4 寻找两个有序数组的中位 ...
- linux - 文件查找及压缩
文件查找: 1. which 查找可以执行文件,只搜索$PATH里的目录 $ which ls /bin/ls which只搜索$PATH里的目录,如果搜索当前目录的文件是没有任何结果的 $ ...
- linux 文件查找和压缩工具
文件查找 1,which命行查找可执行文件,which 只会搜索系统$PATH目录 2,whereis,查找可执行文件,并显示出此文件的man page文件,并且可以查找到系统的库目录 3,locat ...
随机推荐
- 破解IntelliJ IDEA 2017
一.下载地址 http://www.jetbrains.com/idea/ 二.下载破解jar包 http://idea.lanyus.com/ 2.1 将下载好的jar包放在IDEA的bin文件下 ...
- Android之仿今日头条顶部导航栏效果
随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以 ...
- Silverlight,Windows 8应用开发实例教程系列汇总
Kevin Fan分享开发经验,记录开发点滴 Silverlight,Windows 8应用开发实例教程系列汇总 2012-06-18 01:05 by jv9, 2145 阅读, 3 评论, 收藏, ...
- 把TXT GB2312文件转换成TXT UTF8文件
/// <summary> /// 把TXT GB2312文件转换成TXT UTF8文件 /// </summary> /// < ...
- [Swift通天遁地]三、手势与图表-(9)制作五彩缤纷的气泡图表
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- cookie和seesion区别
cookie 和session 的区别详解 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie ...
- redis+php实现秒杀
使用redis队列,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行,推荐使用(mysql事务在高并发下性能下降很厉害,文件锁的方式也是) 先将商品库存如队列 1 2 3 4 5 6 7 ...
- NS2学习笔记(四)
这几天学习NS2,虽然国内很多人使用,但系统的教材资料不多,只能一边看中文教材,一边看英文手册,知识点也是零零散散.过段时间等能将所有知识点串上,再总结总结.现只讲一些零碎的点记录一下. 添加新的协议 ...
- Codeforces Round 411 Div.2 题解
A Fake NP standard input/output s, MB Submit Add to favourites x3673 B -palindrome standard input/ou ...
- Java系列学习(十二)-开始Eclipse
1.用Eclipse来写一个HelloWorld (1)选择工作空间 工作空间其实就是我们写的源代码所在的目录 (2)创建一个Java项目 [File-New-Java Project] (3)创建包 ...