算法提高 新建Microsoft Word文档  
时间限制:1.0s   内存限制:256.0MB
    
问题描述
  L正在出题,新建了一个word文档,想不好取什么名字,身旁一人惊问:“你出的题目叫《新建Microsoft Word文档》吗?”,L大喜,一拍桌子,说:“好,就叫这个名字了。”
  仔细观察,当你新建一个word文档时,会得到一个名为“新建 Microsoft Word 文档.doc”的文件,再新建一个,则名为“新建 Microsoft Word 文档(2).doc”,再新建,便是“新建 Microsoft Word 文档(3).doc”。不断新建,编号不断递增。倘若你现在新建了三个文档,然后删除了“新建 Microsoft Word 文档(2).doc”,再新建就又会得到一个“新建 Microsoft Word 文档(2).doc”。

  严格说,Windows在每次新建文档时,都会选取一个与已有文件编号不重复的最小正整数作为新文档的编号。

  请编程模拟以上过程,支持以下两种操作
  New:新建一个word文档,反馈新建的文档的编号
  Delete id:删除一个编号为id的word文档,反馈删除是否成功
  初始时一个文件都没有,“新建 Microsoft Word 文档.doc”的编号算作1。

输入格式
  第一行一个正整数n表示操作次数,接下来n行,每行表示一个操作。若该行为”New”,则表示新建,为”Delete id”则表示要删除编号为id的文档,其中id为一个正整数。操作按输入顺序依次进行。
输出格式
  对于输入的每一行,输出其反馈结果。对于新建操作,输出新建的文档的编号;对于删除操作,反馈删除是否成功:如果删除的文件存在,则删除成功,输出”Successful”,否则输出”Failed”。
样例输入
12
New
New
New
Delete 2
New
Delete 4
Delete 3
Delete 1
New
New
New
Delete 4
样例输出
1
2
3
Successful
2
Failed
Successful
Successful
1
3
4
Successful
数据规模和约定
  操作次数(即输入的行数)不超过1481
  删除编号的数值不超过2012
 
 #include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
int n;
int vis[];
char str[];
scanf("%d", &n);
getchar();
memset(vis, , sizeof(vis));
while(n--){
gets(str);
if(str[]=='N'){
int i = ;
while(){
if(vis[i]==){
printf("%d\n", i);
vis[i] = ;
break;
}
i++;
}
}
else if(str[]=='D'){
int j = str[]-'';
int k = ;
while(isdigit(str[k])){//判断字符串是否为数字
j = j*+str[k]-'';
k++;
}
if(vis[j]==){
vis[j]=;
printf("Successful\n");
}
else{
printf("Failed\n");
}
}
}
return ;
}

最新文章

  1. Linux 下 JAVA 安装及配置
  2. OCP笔记001
  3. linux下软件安装与升级
  4. rhel及相关linux系统版本知识
  5. java 数据库连接池 Oracle版
  6. shell编程的一些例子1
  7. Jsp中使用EL表达式对字符串进行操作
  8. iPhone App开发实战手册学习笔记(9)之设计IOS App的目标
  9. Redmine数据库备份及搬家
  10. 201521123060《Java程序设计》第2周学习总结
  11. Ganlia采样、统计及RRD记录周期(频次、间隔)的配置和更改
  12. SQLZOO网页中SQL的答案(SELECT from world篇)
  13. 2019.03.28 bzoj3597: [Scoi2014]方伯伯运椰子(01分数规划)
  14. 向Spark集群提交任务
  15. python之tkinter使用-消息弹框
  16. 使用Redis 计数器防止刷接口
  17. idea启动java Maven项目,出现&quot; java: 程序包xxxx不存在&quot;
  18. Django templates and models
  19. [svc]kill pkill killall管理进程
  20. IDFA踩坑记录

热门文章

  1. awk打印倒数第2列
  2. C-I/O操作函数详解
  3. springmvc+spring框架
  4. beanUtils的用法
  5. 使用 Eclipse 远程调试 Java 应用程序
  6. HDUOJ-----2852 KiKi&#39;s K-Number(树状数组+二分)
  7. Chrome禁用缓存
  8. iOS - CFNetwork 的使用
  9. pimpl idiom
  10. explore your hadoop data and get real-time results