链接:https://www.nowcoder.com/acm/contest/190/I
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

CSL正在学习《计算机办公自动化》文件的建立与删除。

CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office Word 文档.doc"的文件,再新建一个,则名为"新建 Microsoft Office Word 文档(2).doc",再新建,便是"新建 Microsoft Office Word 文档(3).doc"。不断新建,编号不断递增。倘若他已经新建了三个文档,然后删除了"新建 Microsoft Office Word 文档(2).doc",再新建一个就又会得到一个"新建 Microsoft Office Word 文档(2).doc"。

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

现在,请你编程模拟以上过程,支持以下两种操作:

New:新建一个word文档,反馈新建的文档的编号;

Delete id:删除一个编号为id的word文档,反馈删除是否成功。

初始时一个文件都没有,"新建 Microsoft Office Word 文档.doc"的编号算作1。

输入描述

第一行一个正整数n表示操作次数,接下来n行,每行表示一个操作。若该行为"New",则表示新建,为:Delete id"则表示要删除编号为id的文档,其中id为一个正整数。操作按输入顺序依次进行。操作次数不超过100000,删除编号的数值不超过100000。

输出描述

对于输入的每一个操作,输出其反馈结果。对于新建操作,输出新建的文档的编号;对于删除操作,反馈删除是否成功:如果删除的文件存在,则删除成功,输出"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

解题思路

直接判断就行了。

如果新建一个,遍历一遍是否有删除的,如果有,就输出该值,并去除标记,删除数减1。

如果删除一个,判断是否删除的有该文件,则标记该值,删除数加1。

#include <stdio.h>
int main()
{char s[10];int h[100010];int a = 1, ans = 0, i, j, t;scanf("%d", &t);while (t--){scanf("%s", s);if (s[0] == 'N'){if (!ans)printf("%d\n", a++);else{for (i = 1; i <= a; i++)if (h[i])break;ans--;h[i] = 0;printf("%d\n", i);}}else if (s[0] == 'D'){scanf("%d", &j);if (j < a){if (h[j])puts("Failed");else{ans++;h[j] = 1;puts("Successful");}}else puts("Failed");}}return 0;
}

新建 Microsoft Office Word 文档(C语言)相关推荐

  1. 【牛客】新建 Microsoft Office Word 文档题解

    原题链接 题目描述 CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office Word ...

  2. 新建 Microsoft Office Word 文档

    CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office Word 文档.doc&qu ...

  3. 牛客小白月赛7 I.新建 Microsoft Office Word 文档

    牛客小白月赛7 I.新建 Microsoft Office Word 文档 题目链接 题目描述 CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时 ...

  4. NC17889 新建 Microsoft Office Word 文档 set暴力

    链接:https://ac.nowcoder.com/acm/problem/17889 来源:牛客网 CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个wor ...

  5. 刷题记录:牛客NC17889新建 Microsoft Office Word 文档

    传送门:牛客 题目描述: CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office W ...

  6. NC17889 新建 Microsoft Office Word 文档

    题目链接 题目链接 题意 Windows在每次新建文档时,都会选取一个与已有文件编号不重复的最小正整数作为新文档的编号. 现在,模拟以上过程,支持以下两种操作: New:新建一个word文档,反馈新建 ...

  7. NC17889 新建 Microsoft Office Word 文档

    STL+模拟. 1.开一个bool vis[i]表示第i个文档是否存在,然后建一个set存放没有建立的文件. 2.建立文档:直接取set的首元素,vis[i] = true. 3.删除文档:查询vis ...

  8. 解决 Mac 下编辑 Microsoft Office Word 文档与 Windows 排版不一致的问题

    使用Microsoft Office for Mac编辑文档,在Windows下打开有时排版会发生改变,这个问题是由两款操作系统的字体库不一致导致的.解决方法: 1.在macOS上安装Windows的 ...

  9. 使用ABAP编程实现对微软Office Word文档的操作

    SAP ABAP里提供了一个标准的类CL_DOCX_DOCUMENT,提供了本地以".docx"结尾的微软Office word文档的读和写操作. 本文介绍了ABAP类CL_DOC ...

最新文章

  1. gitosis使用笔记
  2. notepad++每行首尾添加内容
  3. ce测试数据文章ce测试数据文章ce测试数据文章
  4. mysql解压缩版配置_MySQL 5.6 for Windows 解压缩版配置安装
  5. 教你实现一个朴实的Canvas时钟效果
  6. 软件质量属性:易用性
  7. Excel闪退问题解决办法
  8. Mac电脑清空搜狗输入法联想记忆词库
  9. Eth-Trunk 链路聚合
  10. Consul 集群部署
  11. YAPI返回值怎么是html页面,Yapi部署
  12. 汽车零部件加工行业工业互联网智能工厂解决方案
  13. js特效 jQuery特效 网页特效网站 web网站模板下载推荐
  14. linux查看目录是不是btrfs,Linux 文件系统Btrfs 的Kconfig分析
  15. 入职一年感言简短_如何在Windows任务栏中放入简短说明
  16. 提高网络安全性:探索ADAudit Plus的全功能IT安全审计解决方案
  17. Deepin 2014.2正式版发布 - 自由·独特·前卫
  18. 痞子衡嵌入式:其实i.MXRT1050,1020,1015系列ROM也提供了FlexSPI driver API
  19. 一个请求结束之后再发送另外一个请求,需要连着发很多请求的方法-promise
  20. Android弹幕实现现状与原理浅析

热门文章

  1. 如何在win11上浏览政府IE网站
  2. 小H的硬币游戏(后悔贪心)
  3. 苹果seo_1+X网店运营推广中级标品新品seo优化
  4. (更新时间)2021年4月11日 Git 本地仓库操作
  5. Linux安装Nginx,附Nginx安装包
  6. pythonplotting_python中的频率绘图(Frequency plotting in python)
  7. 百度揽钱秘密:劫持关键词 凤巢模式成吸金黑洞
  8. C语言实现五子棋游戏
  9. 最新显卡功耗表和官方功耗表
  10. 昂达平板4.22系统,测试新移植的libiconv