P1738 Luogu

发一个链表题解!

仅有24ms,排名第一哦~

圆圈代表点,每个店有两个指针,一个指向自己兄弟(同级文件夹),另一个指向自己孩子(子文件夹),还有一个保存当前名字。

有点像二叉树孩子兄弟表示法……

那么我们从根节点寻找。对于每个节点,先找他的兄弟有没有符合要求的当前级名字,如果有,转到该兄弟的孩子节点上;如果没有,那就新建一个,计数器+1。

20180527

代码:

#include <cstdio>
#include <cstring>
const int S=101;
int n,res=0,l,i,j;
char o[S],r[S];
struct info
{
struct info *c,*b;
char a[S];
}*root;
void dfs(int i,struct info *&p,bool fg,char r[])
{
if (!o[i] && fg) return;
int j=i;
if (fg)
{
for (j=i+1;o[j] && o[j]!='/';j++) r[j-i-1]=o[j];
l=j-i-1;r[l]=0;
}
if (p && strcmp(p->a,r)) dfs(j,p->b,false,r);
else
{
if (!p)
{
p=new struct info;
strcpy(p->a,r);res++;
p->b=p->c=NULL;
}
dfs(j,p->c,true,r);
}
}
int main()
{
scanf("%d",&n);
while (n--)
{
scanf("%s",&o);
dfs(0,root,true,r);
printf("%d\n",res);
}
return 0;
}

很简洁吧!:)

Luogu P1738 洛谷的文件夹的更多相关文章

  1. 2021.08.05 P1738 洛谷的文件夹(树形结构)

    2021.08.05 P1738 洛谷的文件夹(树形结构) P1738 洛谷的文件夹 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.树!! 题意: 给出n个网页路径,求 ...

  2. Java实现 洛谷 P1738 洛谷的文件夹

    题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:/luogu/application/c ...

  3. 洛谷P1738 洛谷的文件夹

    原题目:点我 题目是一个略水的题,我机制地用面向对象做了...所以代码量急剧加大,100行233 模拟即可,字符串处理麻烦点.如果没有找到子文件夹就新建文件夹,如果有就进入该文件夹. 提示:高能,指针 ...

  4. Luogu1738 | 洛谷的文件夹 (Trie+STL)

    题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:\(/luogu/application ...

  5. 洛谷P1124 文件压缩

    https://www.luogu.org/problem/show?pid=1124 题目背景 提高文件的压缩率一直是人们追求的目标.近几年有人提出了这样一种算法,它虽然只是单纯地对文件进行重排,本 ...

  6. 洛谷 P1124 文件压缩

    P1124 文件压缩 题目背景 提高文件的压缩率一直是人们追求的目标.近几年有人提出了这样一种算法,它虽然只是单纯地对文件进行重排,本身并不压缩文件,但是经这种算法调整后的文件在大多数情况下都能获得比 ...

  7. [Luogu 3401] 洛谷树

    Description 有一棵树,要求支持 查询两点间简单路径的所有子链的异或和的和 修改某条边的权值 Solution 这种树上异或问题首先应该想到对于每个点存下一个前缀异或和表示这个点到根节点路径 ...

  8. 个人洛谷账号地址——https://www.luogu.org/space/show?uid=181909 附上NOIP查分系统

    个人洛谷地址:       https://www.luogu.org/space/show?uid=181909 NOPI查分地址:      http://bytew.net/OIer/

  9. P1654 OSU!-洛谷luogu

    传送门 题目背景 原 <产品排序> 参见P2577 题目描述 osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败 ...

随机推荐

  1. 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    一.题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 二.解题思路 1)简单暴力解法 ...

  2. PHP面向对象:instanceof 运算符

    http://www.nowamagic.net/php/php_InstanceofOperator.php 在PHP5中,通过方法传递变量的类型有不确定性.于是我们很难判断,一些操作是否可以运行. ...

  3. 【Flutter学习】页面跳转之路由及导航

    一,概述 移动应用通常通过成为‘屏幕’或者‘页面’的全屏元素显示其内容,在Flutter中,这些元素统称为路由,它们由导航器Navigator组件管理.导航器管理一组路由Route对象,并提供了管理堆 ...

  4. JAVA Web学习笔记

    JAVA Web学习笔记 1.JSP (java服务器页面) 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . JSP全名为Java Server Pages,中文名叫java服务器 ...

  5. %d format: a number is required, not str。

    python代码: attr_sql = "INSERT INTO `ym_attribute` (`attr_name`, `type_id`, `attr_value`, `attr_s ...

  6. C++——class类和struct结构体的唯一区别

    唯一的区别:默认访问权限不同,其他没有任何区别. class Base{/****/}; class D1:Base{/****/};//默认D1对Base是public继承 struct D2:Ba ...

  7. HDU 1875 畅通工程再续 (Prim)

    题目链接:HDU 1875 Problem Description 相信大家都听说一个"百岛湖"的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现 ...

  8. Windows7下移植Qt4.8.4项目到QT5.2上时遇到的一些问题

        最近在Windows7下将Qt4.8.4+MSVC2008的项目移植到QT5.2下时,遇到了一些小问题: 问题一:错误:C1083: 无法打开包括文件:"QApplication&q ...

  9. zoom:1总结

    zoom:1确实帮我们解决了不少ie下的bug,但是它的来龙去脉,又有多少人知道呢? 所以我老生常谈,说一下它的来龙去脉. Zoom属性是IE浏览器的专有属性, 它可以设置或检索对象的缩放比例.先来一 ...

  10. 案例-2D会旋转的盒子(rotate), 会缩放的盒子(scale),动画(animation)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...