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. Ubuntu 12.04 LTS 无法进入桌面环境

    今天开机后,在登陆的时候,进入了登陆界面(选择用户,输入密码的那个界面),输入正确的密码后屏幕跳转了一下,但是很快又回到了登陆界面.然后我就尝试以guest [访客]的身份登陆,发现进入了桌面系统. ...

  2. java后端判断用户是否关注公众号

    /** * 判断用户是否关注了公众号 * @param openid * @return */ public static boolean judgeIsFollow(String openid){ ...

  3. [Unity 设计模式]IOC依赖倒置

    1.前言 最近在看<游戏开发与设计模式>一书,看到控制反转设计模式,作者说:上层模块不应该依赖于下层模块,上层模块和下层模块都应该依赖于接口,这样能减少耦合.然后附带举了个例子,我觉得特别 ...

  4. 第四章、TIny4412 U-BOOT移植四 配置时钟频率源码分析【转】

    本文转载自:http://blog.csdn.net/eshing/article/details/37542459 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   上 ...

  5. Kubernetes——基于容器技术的分布式架构领先方案,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩

    1.Kubernetes介绍 1.1 简介 Kubernetes是什么?首先,它是一个全新的基于容器技术的分布式架构领先方案.其次,它是一个开放的开发平台.最后,它是一个完备的分布式系统支撑平台.Ku ...

  6. 重装mysql

    重装mysql方法. 转自http://blog.sina.com.cn/s/blog_73000beb01012eh4.html 1.删除 mysql 1.1 sudo apt-get autore ...

  7. [SDOI 2009] 晨跑

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1877 [算法] 不难看出,第一问要求的是最大流,第二问求的是最小费用最大流 注意建图 ...

  8. 【Codeforces 670C】 Cinema

    [题目链接] http://codeforces.com/contest/670/problem/C [算法] 离散化 [代码] #include<bits/stdc++.h> using ...

  9. 单纯形&&线性规划

    沦为了背板子...wyfcyx的ppt #include<bits/stdc++.h> using namespace std; ; , inf = 1e18; int n, m, l, ...

  10. 如何通过XInput技术针对游戏方向盘或者手柄编程

    目前市面上的游戏外设,要么支持传统的DirectInput接口,要么支持最新的XInput技术.今天在这里聊一聊,如何通过XInput技术实现对这类游戏外设相关信息的捕获.关于DirectInput与 ...