1067. Disk Tree(字符串)
破题啊 写完发现理解错题意了 子目录下会有跟之前重名的
把输入的字符串存下来 排下序 然后依次找跟上面有没有重的
#include <iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<map>
#include<string>
#include<vector>
using namespace std;
vector<string>q[];
char sx[][][];
struct node
{
char c[];
}s[];
int o[];
bool cmp(node a,node b)
{
return strcmp(a.c,b.c)<;
}
int main()
{
int n,i,j,k;
char c[];
scanf("%d%*c",&n);
for(i = ; i <= n ; i++)
{
gets(s[i].c);
k = strlen(s[i].c);
for(j = ; j < k ; j++)
if(s[i].c[j]==)
s[i].c[j] = ;
}
sort(s+,s+n+,cmp);
for(i = ; i <= n ; i++)
{
int g = ;
k = strlen(s[i].c);
for(j = ; j < k ;j++)
{
if(s[i].c[j]!=)
c[g++] = s[i].c[j];
else
{
c[g] = '\0';
o[i]++;
strcpy(sx[i][o[i]],c);
g = ;
}
}
if(g)
{
c[g] = '\0';
o[i]++;
strcpy(sx[i][o[i]],c);
}
}
k = ;
for(i = ; i <= o[] ; i++)
{
for(j = ; j <= k ; j++)
printf(" ");
printf("%s\n",sx[][i]);
k++;
}
for(i = ; i <= n ; i++)
{
int f = ;k=;
for(j = ; j <= o[i]; j++)
{
if(!f||o[i-]<j)
{
for(int g = ; g <= k ; g++)
printf(" ");
printf("%s\n",sx[i][j]);
}
else
if(strcmp(sx[i][j],sx[i-][j])!=)
{
for(int g = ; g <= k ; g++)
printf(" ");
printf("%s\n",sx[i][j]);
f = ;
}
k++;
}
}
return ;
}
1067. Disk Tree(字符串)的更多相关文章
- uva 1556 - Disk Tree(特里)
题目连接:uva 1556 - Disk Tree 题目大意:给出N个文件夹关系,然后依照字典序输出整个文件文件夹. 解题思路:以每一个文件夹名作为字符建立一个字典树就可以,每一个节点的关系能够用ma ...
- ural1067 Disk Tree
Disk Tree Time limit: 2.0 secondMemory limit: 64 MB Hacker Bill has accidentally lost all the inform ...
- HDU 1504 Disk Tree
转载请注明出处:http://blog.csdn.net/a1dark 分析:查了一下这题.发现网上没有什么关于这道题的解题报告.其实题目意思挺好懂的.就是给你一些文件的目录结构.然后让你把它们组合在 ...
- 【HDOJ】1504 Disk Tree
文件可以重名.先按字典序将路径排序,再过滤掉公共前缀.其中的问题是'\'的ASCII比[A-Z0-9]大,将它替换为空格.否则字典序有问题. /* 1504 */ #include <iostr ...
- ASM Disk Discovery 最佳实践
ASM DISK 的Discovery PATH ASM实例的ASM_DISKSTRING初始化参数使用一个逗号分割的字符串限制ASM实例发现的DISK可以用于ASM DISK, 该字符串支持通配符如 ...
- Python 字符串的encode与decode
python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byt ...
- asp.net(C#)html无限分类树 可新增 删除 修改
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ProductSort.aspx ...
- Linux平台下源码安装mysql多实例数据库
Linux平台下源码安装mysql多实例数据库[root@linux-node1 ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6 ...
- Windows Server 2008无损调整分区的方法
今天在装windows2008服务器的时候 发现系统只有C盘 该如何对C盘进行分区呢 windows2007 可以直接格式化 在windows2008服务器中格式化是灰色的 不能用 寻求 ...
随机推荐
- 纯CSS3代码实现简单的图片轮播
以4张图片为例:1.基本布局:将4张图片左浮动横向并排放入一个div容器内,图片设置统一尺寸,div宽度设置4个图片的总尺寸,然后放入相框容器div,相框设置1个图片的大小并设置溢出隐藏,以保证正确显 ...
- CSS实现不固定宽度和高度的自动居中
有时候我们需要实现下面这种效果: 嘎嘎,撑大高度不让你剧中 嘎嘎,撑大高度不让你剧中 嘎嘎,撑大高度不让你剧中 嘎嘎,撑大高度不让你剧中 嘎嘎,撑大高度不让你剧中 嘎嘎,撑大高度不让你剧中 嘎嘎,撑大 ...
- php安装libevent
libevent扩展安装 libevent-2.0.16-stable.tar http://libevent.org/ [plain] view plaincopy cd libevent-2.0. ...
- Spark Streaming揭秘 Day10 从BlockGenerator看接收数据的生命周期
Spark Streaming揭秘 Day10 从BlockGenerator看接收数据的生命周期 昨天主要介绍了SparkStreaming中对于Receiver的生命周期管理,下面让我们进入到Re ...
- Python的文件与文件夹操作
Python的文件与文件夹操作 Python OS模块 1.重命名:os.rename(old, new) 2.删除:os.remove(file) 3.列出目录下的文件 :os.listdir(pa ...
- linux下使用sqlplus使用上下键显示历史命令
在linux下使用sqlplus没有在windows下方便,既不好用习惯的退格键,也无法通过上键来显示上一条的命令,这里我们使用rlwrap来解决. 1.安装rlwrap [root@toughhou ...
- 使用NPIO操作Excel
using System; using System.Collections.Generic; using System.Linq; using System.Text; using NPOI.SS. ...
- web sevice 生成代理类及使用
一.生成代理类: VS2008下这样写 wsdl.exe /l:cs /out:D:/ProxyServices.cs http://localhost/WebService.asmx VS2010下 ...
- 创建dblink 同义词
database link dblink的主要作用是两个数据库间的数据访问 create database link my_test connect to testdbname identified ...
- 类的本质、description方法、SEL、NSLog输出增强
一.类的本质 1.类也是个对象 其实类也是一个对象,是Class类型的对象,简称“类对象” Class类型的定义 typedef struct objc_class *Class; 类名就代表着类对象 ...