北邮新OJ91
来源:互联网 发布:java的输入流和输出流 编辑:程序博客网 时间:2024/06/05 19:47
http://code.bupt.edu.cn/problem/p/91/
#include<stdio.h>#include<string.h>#include<string>#include<vector>#include<iostream>using namespace std;struct pp{ string name;//目录名 int no;//目录编号 vector<int> c;//子目录编号 vector<string> v;//目录下的文件名};int main(){ int N; scanf("%d",&N); for(int k=1;k<=N;k++) { int n; scanf("%d",&n); pp * s; s=new pp[101];//初始化一个数组 int num=1; s[1].name="root"; s[1].no=1; for(int i=1;i<=n;i++)//n个操作 { getchar(); char tmp[101]; scanf("%s",tmp); if(strcmp(tmp,"CREATEFILE")==0)//创建文件 { char tmp1[101],tmp2[101]; scanf("%s %s",tmp1,tmp2); string tt=tmp2; for(int i=1;i<=num;i++) if(tt==s[i].name) { string file=tmp1; s[i].v.push_back(file); } } else if(strcmp(tmp,"CREATEDIR")==0)//创建目录 { char tmp1[101],tmp2[101]; scanf("%s %s",tmp1,tmp2); string tt=tmp2; for(int i=1;i<=num;i++) if(tt==s[i].name) { s[num+1].name=tmp1; s[num+1].no=num+1; s[i].c.push_back(num+1); num++; } } else if(strcmp(tmp,"LISTFILE")==0)//打印目录下文件 { char tmp1[101]; scanf("%s",tmp1); string tt=tmp1; for(int i=1;i<=num;i++) if(tt==s[i].name) for(int j=0;j<s[i].v.size();j++) cout<<s[i].v[j]<<endl; } else if(strcmp(tmp,"LISTDIR")==0)//打印目录下的目录 { char tmp1[101]; scanf("%s",tmp1); string tt=tmp1; for(int i=1;i<=num;i++) if(tt==s[i].name) for(int j=0;j<s[i].c.size();j++) cout<<s[s[i].c[j]].name<<endl; } else ; } } //system("pause"); return 0;}
0 0
- 北邮新OJ91
- BUPT OJ91 文件系统
- [南阳理工OJ91]阶乘之和
- 阶乘之和(南阳oj91)(水题)
- 北邮新OJ87
- 北邮新OJ88
- 北邮新OJ89
- 北邮新OJ90
- 北邮新OJ92
- 北邮新OJ93
- 北邮新OJ94
- 北邮新OJ95
- 北邮新OJ96
- 北邮新OJ97
- 北邮新OJ98
- 北邮新OJ99
- 北邮新OJ100
- 北邮新OJ101
- poj3181-完全背包+高精度
- 算法:链表的归并排序
- ActionBarActivity ActionBar Fragment
- 3.要学习的东西不仅仅是技术本身
- C++ 新手游戏开发之细节问题(1)
- 北邮新OJ91
- linux 安装部署 apache http server
- 有关windows的多线程
- hdu1003 Max Sum (DP)
- 线人
- 那些年,在Fragment中犯的错
- java定时器弹弹球
- Android NDK开发(1)----- Java与C互相调用实例详解
- 定义为指针,声明为数组