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)的更多相关文章

  1. / Vijos / 题库 /1250 / 最勇敢的机器人

    / Vijos / 题库 /1250 / 最勇敢的机器人 借鉴博客:http://www.cnblogs.com/chty/p/5830516.html 背景 Wind设计了很多机器人.但是它们都认为 ...

  2. Vijos / 题库 / 输油管道问题

    背景 想念car的GF,car就出了道水题! 描述 某石油公司计划建造一条由东向西的主输油管道.该管道要穿过一个有n 口油井的油田.从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连.如果 ...

  3. OnlineJudge 离线题库采集

    过段时间要把以前的OJ换掉,我负责VirtualJudge的部分.需要用C与PHP写一个Linux下的VJudge. 在此之前,将以前写给自己学弟学妹用的OJ离线题库的采集程序改进了一下.支持国内一些 ...

  4. Ocr答题辅助神器 OcrAnswerer4.x,通过百度OCR识别手机文字,支持屏幕窗口截图和ADB安卓截图,支持四十个直播App,可保存题库

    http://www.cnblogs.com/Charltsing/p/OcrAnswerer.html 联系qq:564955427 最新版为v4.1版,开放一定概率的八窗口体验功能,请截图体验(多 ...

  5. 分享一个文件查找、替换制定的字符或数字之CS程序、附带源码

    首先就上操作流程图: 图--登陆界面.登陆密码:alidoing.com 图--界面说明(一看就懂) 图--文件查找到再替换 图--文件替换成功 图--替换后的文件 代码开始: 登陆的代码就非常简单. ...

  6. Linux题库练习

    转一个Linux的题库供自己学习使用(滑稽) 转自:http://www.linuxdiyf.com/view_202485.html 选择题1 在终端下输入mount -a命令的作用是:CA 强制进 ...

  7. leetcode题库

    leetcode题库 #题名题解通过率难度出现频率  1 两数之和     46.5%简单2 两数相加     35.5%中等3 无重复字符的最长子串     31.1%中等4 寻找两个有序数组的中位 ...

  8. linux - 文件查找及压缩

    文件查找: 1.  which    查找可以执行文件,只搜索$PATH里的目录 $ which ls /bin/ls which只搜索$PATH里的目录,如果搜索当前目录的文件是没有任何结果的 $ ...

  9. linux 文件查找和压缩工具

    文件查找 1,which命行查找可执行文件,which 只会搜索系统$PATH目录 2,whereis,查找可执行文件,并显示出此文件的man page文件,并且可以查找到系统的库目录 3,locat ...

随机推荐

  1. Python科学计算的瑞士军刀——Anaconda 安装与配置

    Introduce Python是一种强大的编程语言.其提供了非常多用于科学计算的模块,常见的包含numpy.scipy和matplotlib.要利用Python进行科学计算.就须要一一安装所需的模块 ...

  2. POJ 1861 Network (Kruskal求MST模板题)

    Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 14103   Accepted: 5528   Specia ...

  3. HDU 4771 Stealing Harry Potter's Precious dfs+bfs

    Stealing Harry Potter's Precious Problem Description Harry Potter has some precious. For example, hi ...

  4. astgo-官方功能更新日志

    2014年9月 2014-9-7:更新 1.安卓.苹果客户端添加字幕广告(点击字幕跳转打开网址) 2.安卓.苹果客户端添加公告推送功能 3.修正Astgo软交换管理平台修删除充值卡.用户账号,造成整个 ...

  5. 【转载】Sybase数据库服务器端安装

    sybase数据库的安装分为服务器端和客户端,本文先介绍一下服务器端的安装. 1.和其他程序一样,双击setup.exe.   2.出现欢迎界面,直接点击next即可.   3.下面选择相应国家的协议 ...

  6. 绝对牛x的代码注释

    备注:文中字符均可以直接复制直接用! 再补上一个好玩的网站 Ascii World:(链接:http://www.asciiworld.com/). 网站上的图形很多,感兴趣的可以复制链接到浏览器上打 ...

  7. SPOJ 1811 SAM 初探

    思路: 一个串建SAM 另一个串在SAM上跑 //By SiriusRen #include <cstdio> #include <cstring> #include < ...

  8. Java中的异常注意点

    在java中 使用throw关键字抛出异常       使用throws关键字声明异常 public static void main(String[] args) throws Exception{ ...

  9. SQL--大解密之组织数据

    今天为大家带来的是数据库的基本用法   首先带大家了解下数据库. 大量的数据正在不断产生,伴随而来的是如何安全有效地存储.检索.管理他们. 对数据的有效存储.高效访问.方便共享和安全控制等问题成为信息 ...

  10. 商业计算中Java高精度计算BigDecimal类

    <Effective Java> 第48条:如果需要精确的答案,请避免使用float和double. 如果我们编译运行下面这个程序会看到什么?public class Test{    p ...