比赛的时候队友要做这道题……

他没做出来自己也被误导了……

也算是个教训 自己还是要有自己的思路……

又是模拟题……

网上都是用vector做的 我最近才会stl 怎么会用那么高大上的的东西……

强力模拟一波内存……

反正只有100的大小 随意遍历……

模拟都做不出来 只能说明真的方了……

只要心态稳定 模拟都是水题……

 #include<stdio.h>
#include<string.h>
int memory[];
int room[];
int main(){
int T;
scanf("%d",&T);
while(T--){
char s[];
int used=;
int point=;
while(~scanf("%s",s)&&strcmp(s,"End")!=){
if(strcmp(s,"Create")==){
int number;
scanf("%d",&number);
scanf("%d",&memory[number]);
int emp=;
int ok=;
for(int i=;i<=&&ok;i++){
if(!room[i]) emp++;
if(emp>=memory[number]){
int ii=i;
while(room[ii]==){
room[ii]=number;
ii--;
}
ok=;
printf("Create process %d of size %d successfully!\n",number,memory[number]);
}
else if(room[i+]!=&&ok) emp=;
}
if(ok){
memory[number]=;
printf("No enough memory!\n");
}
}
if(strcmp(s,"Delete")==){
int n;
scanf("%d",&n);
if(memory[n]==) printf("No such process!\n");
else{
printf("Delete process %d of size %d successfully!\n",n,memory[n]);
used-=memory[n];
memory[n]=;
for(int i=;i<=;i++)
if(room[i]==n) room[i]=;
}
}
if(strcmp(s,"Print")==){
int emp=;
int full=;
for(int i=;i<=;i++){
if(!room[i]) emp++;
else{
if(emp){
printf("H %d\n",emp);
emp=;
}
while(room[i++]&&room[i]==room[i-]) full++;
printf("P %d %d\n",room[--i],full+);
full=;
}
}
if(emp) printf("H %d\n",emp);
}
}
memset(room,,sizeof(room));
memset(memory,,sizeof(memory));
}
return ;
}

FZU 1893 内存管理 模拟的更多相关文章

  1. (原创)动态内存管理练习 C++ std::vector<int> 模拟实现

    今天看了primer C++的 “动态内存管理类”章节,里面的例子是模拟实现std::vector<std::string>的功能. 照抄之后发现编译不通过,有个库函数调用错误,就参考着自 ...

  2. Java内存管理的进一步理解-模拟过程图解

    Java内存管理的进一步理解-模拟过程图解--转载 java的内存管理分为: 1.堆内存:2.栈内存:3.方法区:4.本地方法区 /* 1:方法区      方法区存放装载的类数据信息包括:      ...

  3. C++ 系列:内存管理

    1.内存分配方式 内存分配方式有三种: (1)从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. (2)在栈上创建. 在执行函 ...

  4. .NET面试题解析(06)-GC与内存管理

      系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 GC作为.NET的重要核心基础,是必须要了解的.本文主要侧重于GC内存管理中的一些关键点,如要要全面深入了 ...

  5. C语言内存管理(转)

    伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆.如果 ...

  6. 转:C/C++内存管理详解 堆 栈

    http://chenqx.github.io/2014/09/25/Cpp-Memory-Management/ 内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了 ...

  7. 程序员必读:Linux内存管理剖析

    现在的服务器大部分都是运行在Linux上面的,所以作为一个程序员有必要简单地了解一下系统是如何运行的. 对于内存部分需要知道: 地址映射 内存管理的方式 缺页异常 先来看一些基本的知识,在进程看来,内 ...

  8. MongoDB源码概述——内存管理和存储引擎

    原文地址:http://creator.cnblogs.com/ 数据存储: 之前在介绍Journal的时候有说到为什么MongoDB会先把数据放入内存,而不是直接持久化到数据库存储文件,这与Mong ...

  9. Cocos2d-x内存管理研究<二>

    http://hi.baidu.com/tzkt623/item/46a26805adf7e938a3332a04   上一篇我们讲了内核是如何将指针加入管理类进行管理.这次我将分析一下内核是如何自动 ...

随机推荐

  1. IIS错误解决办法(HTTP Error 500.19 - Internal Server Error)

    window10 切换登陆用户,VS2015的IIS Express 调试代码报HTTP Error 500.19 - Internal Server Error 错误,无法读取配置文件解决办法. I ...

  2. 数据集下载 MNIST

    The Street View House Numbers (SVHN) Dataset SVHN is a real-world image dataset for developing machi ...

  3. centos6.5 安装zabbix

    实验说明: 操作系统: CentOS6.5 64位 Web环境: Apache Mysql PHP zabbix版本: LTS 2.2.10 Linux服务器IP: 10.0.0.2 Linux客户端 ...

  4. CodeForces 670C Cinema

    简单题. 统计一下懂每种语言的人分别有几个,然后$O(n)$扫一遍电影就可以得到答案了. #pragma comment(linker, "/STACK:1024000000,1024000 ...

  5. python 之文本搜索与替换文件中的文本

    #!/usr/local/env python import os, sys nargs = len(sys.argv) if not 3 <= nargs <= 5: print &qu ...

  6. ios 3D Touch功能的实现

    ios9中3D Touch功能是一个新的亮点,这个方便快捷的功能实现也比较简单,废话不多说直接上代码, 一.3D Touch功能添加分为两种(1).静态标签 (2).动态标签 (1).静态添加 这个方 ...

  7. java学习记录

    1,接口(不实现任何方法)——>抽象类(实现部分公共方法)——>简单实现类——>具体实现类 2,抽象类不能被直接实例化,只能实现抽象方法,以匿名内部类的方式表现. 3,如果stati ...

  8. 最有用的Gulp插件汇总

    HTML&CSS autoprefixer - parse CSS and add vendor prefixes to rules by Can I Use. gulp-browser-sy ...

  9. IO流数据读写总结

    1.用java自带的IO读写方法 官方API网站:http://docs.oracle.com/javase/7/docs/api/ 2.Apache的Commons-io-2.4.jar中的方法,参 ...

  10. 数数字(Digit Counting,ACM/ICPC Danang 2007,UVa1225)

    #include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char s[10000]; in ...