THU2015 fall 1-2 Company
来源:互联网 发布:淘宝信用支付什么意思 编辑:程序博客网 时间:2024/05/18 03:45
THU2015 fall 1-2 Company
描述
公司有n个员工,编号1 ~ n。员工数量众多,需要你为他们编写一个管理系统。
员工上班时都要登录管理系统登记一个code,离开要从管理系统上注销,员工也可以随时更新自己的code。到了下班时间,所有员工都会自动注销。公司管理人员随时都可能想要知道有多少员工上班,以及任一员工登记的code。
输入
第一行两个整数n、m。接下来m行,每行都是以下内容之一:
Iac//Log In:员工a登录,code为c。若a已登录,则将code更新为cOa//Log Out:编号为a的员工注销。若a未登录,则注销无效C//Close:到下班时间,所有员工注销N//Number:询问有多少员工正在上班Qa//Query:询问员工a的code(若未登录或已注销,视为-1)
输出
一个整数,是所有询问(N、Q)的答案之和(int表示,自动溢出,不用管溢出部分)
输入样例
108I12I14Q1CI24O2Q2N
输出样例
3//“Q 1”答案是4,“Q 2”答案是-1,“N”答案是0,所有答案之和为3
限制
n <= 10,000,000
m <= 1,000,000
1<=a<=n
code为[0, 2^31)的整数
空间限制:256 MB
时间限制:2 sec
提示
一级提示
测试数据中,每种操作都可能频繁出现,或很少出现。因此,你的算法需要应对所有可能的情况。
代码如下:
#include <stdio.h>//#include <stdlib.h>#include <string.h>#include <bitset>const int SZ = 1 << 20;struct fastio { //fast iochar inbuf[SZ];char outbuf[SZ];fastio() {setvbuf(stdin, inbuf, _IOFBF, SZ);setvbuf(stdout, outbuf, _IOFBF, SZ);}}io;#define N 10000000#define M 1000000int num[N + 1];std::bitset<N + 1> bit;int main(){int n, m;int count = 0;scanf("%d%d", &n, &m);int ans = 0;while (m--){char c;int a, b;while (scanf("%c", &c) && c != 'I' && c != 'O'&& c != 'C'&& c != 'N'&& c != 'Q');if (c == 'I'){scanf("%d %d", &a, &b);if (bit[a] == 0){count++;bit.set(a);}num[a] = b;}else if (c == 'O'){scanf("%d", &a);if (bit[a] == 1){bit.reset(a);count--;}}else if (c == 'C'){bit.reset();count = 0;}else if (c == 'Q'){scanf("%d", &a);ans += bit[a] == 1? num[a]:-1;}else if (c == 'N'){ans += bit.count();}}printf("%d\n", ans);//system("pause");return 0;}
0 0
- THU2015 fall 1-2 Company
- THU2015 fall 2-2 Train
- THU2015 fall 1-1 Team
- THU2015 fall 2-4 Queap
- THU2015 fall 2-3 Rebuild
- THU2015 fall 1-3 Interview
- 2017 Fall SoftwareEngineering Learning (2)
- company
- company
- company
- company
- company
- CS193p 2013 Fall Lecture 2 notes
- 2017 Fall Software Engineering Learning (1)
- 《CS PhD Journey》Chapter 1 Fall 2017
- MIT6.828 Fall 2012 Lab 1: Booting a PC
- Fall Regimen
- Oracle Becomes 2nd Largest Software Company
- [error handle][java web]Spring MVC在类上使用@RequestMapping后对静态资源的访问问题
- cent os svn服务器搭建
- INF003
- MYSQL用法(十五) MySQL中FIND_IN_SET()用法
- Openstack - cinder与swift、glance的区别
- THU2015 fall 1-2 Company
- spark Compression codec com.hadoop.compression.lzo.LzoCodec not found
- 字符集与字符编码简介
- 【总结】10月训练赛第7场
- 仿美团下拉
- 最优程序
- 《C Primer Plus》学习笔记之 C数据的属性(三)类型限定词
- 前端数字显示的格式
- MySQL编译安装(多实例)