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服务器中格式化是灰色的 不能用 寻求 ...
随机推荐
- css中overflow:hidden的属性 可能会导致js下拉菜单无法显示
css中overflow:hidden属性导致ExtJS中无法显示下拉滚动条 overflow属性: visible 默认.内容不会被修剪,会呈现在元素之外. hidden 内容会被修剪,但是浏览器不 ...
- Python字符串内建处理函数
#coding=utf-8 __author__ = 'Administrator' # 字符串处理函数 s1 = "study python string function , I lov ...
- WPF中让TextBlock每一个字符显示不同的颜色
XAML代码: <TextBlock x:Name="tb"> <Run Foreground="Red">R</Run> ...
- UITableView自定义单元格
随手笔记: RootViewController代码 #import "RootViewController.h" #import "AddressContact.h&q ...
- (转载)Cocos2dx-OpenGL ES 2.0教程:你的第一个三角形(1)
前言 在本系列教程中,我会以当下最流行的2D引擎Cocos2D-X为基础,介绍OpenGL ES 2.0的一些基本用法.本系列教程的宗旨是OpenGL扫盲,让大家在使用Cocos2D-X过程中,知其然 ...
- Java中的break与continue区别
break跳出当前循环执行循环下面的程序, 如果break出现在嵌套循环的内层循环, 则break语句只会跳出当前层的循环; 当程序执行到continue时时, 则跳过本次循环程序重新回到循环开始继续 ...
- 使用Sqlserver事务发布实现数据同步
事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进 的.这里以sqlserver2008的事务发布功能为例,对发 ...
- 用in判断input中的placeholder属性是否在这个对象里
<input id="test"> var ele = document.getElementById("test"); if("plac ...
- 快速配置Ehcache
1. 编写ehcache.xml文件,将该文件放置于classpath路径下.代码如下: <?xml version="1.0" encoding="UTF-8&q ...
- uva 624
背包问题 总时间为容量,单个唱片时间为各个物体的价值与体积 f[] 用来记录路径 #include <cstdio> #include <cstring> #define ...