手搓文件管理系统(持续开发中)

news/2025/10/21 20:43:29/文章来源:https://www.cnblogs.com/Noivelist/p/19156375
#include<bits/stdc++.h>
using namespace std;/*** command:* 			cd [dirname]* 				to shift to a name_given dir* 			mkdir [dirname]* 				create a new dir under current dir* 			ls [dirname]* 				list the dir under current dir in specific order* * */int dircnt=1;       //the number of dir
int now=1;          //the dir's ID which you are now
int fa[100010];     //fa for Union-Find
map<string,int>mp;  //give it a name turned out a ID
struct direction{string dirname; //its nameint dep;        //the dep in the dir_treevector<int>son; //its son_dir
}a[100010];         //struct for directionsdeque<int>pos;      // your current path
int pos_size=1;     // the size of pathvoid mkdir(){//"mkdir"string new_name;cin>>new_name;if(mp[new_name]){//SPJ for [under]cout<<"already have this direction!"<<endl;return;}dircnt++;mp[new_name]=dircnt;           //IDfa[ dircnt ] = now;            //son and fathera[now].son.push_back(dircnt);  //contain IDa[dircnt].dep=a[now].dep+1;    //depa[dircnt].dirname=new_name;    //dir_namecout<<"Successfully make a dir named\""<<new_name<<"\""<<endl<<endl;
}int find_dep(int x,int to_dep){if(a[x].dep==to_dep)return x;return find_dep(fa[x],to_dep);
}void change_dir(){//"cd"string to_name;cin>>to_name;if(mp[to_name]==0){//SPJ for [under] invalid casecout<<"you don't have such a direction ,which named \""<<to_name<<"\""<<endl<<endl;return;}int to=mp[to_name],to_dep=a[to].dep;now=to;cout<<"Loading..."<<endl;pos.clear();//as you seepos_size=0;for(int i=1;i<=to_dep;i++){//start from Desktop (time_eff not good(no care))pos.push_back(find_dep(to,i));pos_size++;//dont forget pos_size//cout<<"id:"<<find_dep(to,i)<<"  and dir_name:"<<a[find_dep(to,i)].dirname<<endl;//test [up];}cout<<"Successfully changed to \""<<to_name<<"\""<<endl<<endl;
}void list_dir(int now){//"ls"}void init_system(){//as you seefor(int i=0;i<=100009;i++)fa[i]=i;    //Union-findmp["Desktop"]=1;        //desk_ida[1].dirname="Desktop"; //desk_namea[1].dep=1;             //desk_dep  now=1;                  //cur_pospos.push_back(1);       //cur_pathcout<<endl;             cout<<"<Desktop>:";
}void print_path(){cout<<"<";for(int i=1;i<=pos_size;i++){cout<<a[pos.front()].dirname;pos.push_back(pos.front());  pos.pop_front();if(i!=pos_size)cout<<" / ";  //SPJ//using a deque to turn it aside to output//your current path}cout<<">: ";
}int main(){init_system();while(1){string tmp;cin>>tmp;if(isdigit(tmp[0])){cout<<tmp<<endl;print_path();}if(!isdigit(tmp[0])){if(tmp=="mkdir"){mkdir();print_path();continue;}if(tmp=="cd"){change_dir();print_path();continue;}if(tmp=="ls"){list_dir(now);print_path();continue;}if(tmp=="shut"){cout<<endl<<"Shut down the system successfully!"<<endl;cout<<"Have a good day!"<<endl;exit(0);}print_path();}}return 0;
}
/*** g++ a.cxx* ./a.out* * **/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/942642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AGC001~030 合集

AGC001~030。2025.3.10 - 2025.10.21。 如果附带了题目大意的话就是最近才做,或者是我过了几个月看不懂自己写的啥了重写了一遍。 如果您认为某些题目的理解不够到位,非常欢迎交流!!/kel,虽然应该也不会有人仔细看…

手写体识别

手写数字识别:基于PyTorch的卷积神经网络实现 一、项目概述 使用PyTorch实现一个基于卷积神经网络(CNN)的手写手写数字识别模型,通过MNIST数据集训练,实现对手写数字(0-9)的分类识别。 二、环境依赖Python 3.x PyTo…

AGC 合集 1.0

AGC001~030。2025.3.10 - 2025.10.21。 收录了前 30 场 AGC 中我写了题解的题目。 如果附带了题目大意的话就是最近才做,或者是我过了几个月看不懂自己写的啥了重写了一遍。 如果您认为某些题目的理解不够到位,非常欢…

20231302邱之钊密码系统设计实验一第二

1.参考相关内容,在Ubuntu或openEuler中(推荐openEuler)中使用OpenSSL库编程实现调用SM2(加密解密,签名验签),SM3(摘要计算,HMAC 计算),SM4(加密解密)算法,使用Markdown记录详细记录实践过程,每完成一项…

你好,我是肆闲:C语言的学习,成长与分享旅程

大家好,我是肆闲。 今天,我写下了我的第一篇博客,就像一个程序员运行了第一段 print("Hello World")一样。代码简单,却标志着一个充满无限可能的新世界,在我眼前打开了大门。作为一个刚入门的小白,我对…

深入BERT内核:用数学解密掩码语言模型的工作原理

传统语言模型有个天生缺陷——只能从左往右读,就像你现在读这段文字一样,一个词一个词往下看,完全不知道后面会出现什么。人类可不是这么学语言的。看到"被告被判**_**",大脑会根据上下文直接联想到&quo…

ZR 2025 NOIP 二十连测 Day 6

100 + 72 + 35 + 0 = 207, Rank 61/131.啊啊啊第一次上 200 /oh25noip二十连测day6 链接:link 题解:题目内 时间:4.5h (2025.10.21 13:40~18:10) 题目数:4 难度:A B C D\(\color{#F39C11} 橙\)*1200估分:100 + 7…

20251021

上午工程实训课接触了电工基础,老师演示了万用表测量、简单电路连接和安全操作规范 下午英语课围绕旅游主题展开听力, 晚上写离散数学作业 间隙用碎片时间整理了课堂笔记,还讨论了实训课上的电路连接问题。 (工程实…

[论文笔记] Precision-Guided Context Sensitivity for Pointer Analysis

Introduction Context-sensitivity 会带来静态分析的精度提升,但是也会带来巨大的开销,这引出一个关键的问题:能否在某些对整体分析的精度有重要影响的函数上选择性的使用 context-sensitivity?这个问题的难点在于…

英语_备忘_疑难

好的,这里有一些关于 **How** 和 **What** 在感叹句中使用的例题,涵盖了常见的规则和易错点。 **规则回顾:*** **What + (a/an) + 形容词 + 名词*** **How + 形容词/副词 + (主谓)** --- **例题:** 请选择正…

朋友圈文案不会写?这个AI指令可能帮得上忙

最近在整理AI提示词的时候,顺手写了个朋友圈文案生成的指令。本来只是自己用,后来发现身边朋友也有这个需求,就想着分享出来。写在前面 刷朋友圈的时候,你有没有发现:有些人随便发个照片配几个字,点赞评论一大堆…

「JOISC2020-掃除」题解

题解记录掃除 (Sweeping) sol 从 Subtask 3 的特殊性质入手,可以发现一个关键性质:无论之后如何操作,这个单调性在任何时刻均满足。其原因可以简单考虑一下操作的效力范围与结果得到。 理解之后容易推广到全局,不难…

职责分离的艺术:剖析主从Reactor模型如何实现极致的并发性能

职责分离的艺术:剖析主从Reactor模型如何实现极致的并发性能Reactor单线程模型 在Reactor单线程模型中,所谓的“单线程”主要针对I/O操作而言,即所有的I/O操作(如accept()、read()、write()和connect())都在同一个…

数学题刷题记录(数学、数论、组合数学)

P5686 [CSP-S2019 江西] 和积和简单题,直接将区间求和转换成前缀和,设 \(A_i = \sum_{i = 1}^n a_i,B_i = \sum_{i = 1}^n b_i\),那么式子为: \[\sum_{l = 1}^n \sum_{r = l}^n (A_r-A_{l-1})(B_r-B_{l-1}) \]\[=\…

记录一次raid恢复之后数据库故障处理(ora-01200,ORA-26101,ORA-600)---惜分飞

记录一次raid恢复之后数据库故障处理(ora-01200,ORA-26101,ORA-600)---惜分飞联系:手机/微信(+86 17813235971) QQ(107644445) 标题:记录一次raid恢复之后数据库故障处理(ora-01200,ORA-26101,ORA-600) 作者:惜分飞…

CF简单构造小计

记录在这的都是感觉比较妙的或者看了题解的( CF2155D Batteries有 \(n\) 个元素,其中有 \(a\) 个是好的( \(a\) 未知)。 每次你可以询问一对元素,返回1当且仅当两个元素都是好的,否则返回0。 在 \(\lfloor\frac{…

软件工程第三次作业:四则运算题目生成器 - Nyanya-

四则运算题目生成器 - 结对项目报告项目信息 详情课程 软件工程作业要求 结对项目项目目标 实现一个四则运算题目生成器,支持有理数运算,规范软件开发流程,熟悉结对编程结对成员 姓名1: [杨浩] 学号1: [3123004462]…

ORA-600 kokasgi1故障处理(sys被重命名)---惜分飞

ORA-600 kokasgi1故障处理(sys被重命名)---惜分飞联系:手机/微信(+86 17813235971) QQ(107644445) 标题:ORA-600 kokasgi1故障处理(sys被重命名) 作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有…

简单页面聊天

import express from express import http from http import { Server } from socket.io import cors from corsconst app = express() const PORT = process.env.PORT || 3001app.use(cors({ origin: [http://localho…