用到了 deque 和queue

操作说明:

queue  qu:      qu.push(x);

int d=qu.front();

qu.pop();        和栈一样只有push和pop操作,front是看第一个!   栈里面是top

deque de:    de.push_front(x);

de.push_back(x);

int x=de.front();

de.pop_front();

de.back_front();//push 和pop 加上后缀

检查了一个小时 发现是头文件有问题    :当使用bool时  不能用 include<bits/stdc++.h>

一开始题目理解错误 弄了好久  原来是一个程序一个程序往下!明明说的很清楚

一个模拟题 也不算太难  熟练使用queue和deque 的各种操作就好了

1. s == "end"   string 类型可以直接这样判断

2、其中的  if(s == "") continue; 没收各种垃圾语句和字符

#include<bits/stdc++.h>
using namespace std;
int val[],t[],Q,q[];
bool lock;
deque<int>de;
queue<int>zz;
vector<string>ans[]; void run(int x); int main()
{
int cas;cin>>cas;
while(cas--)
{ int n;
cin>>n;
for(int i=;i<;i++) cin>>t[i];
cin>>Q;getchar();
for(int i=;i<=n;i++)
{ ans[i].clear();
string s;
while(getline(cin,s))
{
if(s=="end")break;
else ans[i].push_back(s);
}
de.push_back(i); }
memset(q,,sizeof(q));
memset(val,,sizeof(val)); while(!de.empty())//通过队列里是否还有任务等待判定
{ int x=de.front();
de.pop_front(); run(x); } } return ;
} void run(int x)
{ int v=;
int t1=Q; while(t1>)
{ string aim=ans[x][ q[x] ];//每次都要读取命令 放在外面是错的
if(aim[]=='=')
{ t1-=t[];
v=aim[]-'';if(isdigit(aim[]))v=v*+aim[]-'';
val[ aim[]-'a' ]=v;
}
else if(aim[]=='p')
{
t1-=t[];
printf("%d: %d\n",x,val[ aim[]-'a' ]);
}
else if(aim[]=='l')
{
t1-=t[];
if(!lock) lock=!lock;
else {zz.push(x);return ;}
}
else if(aim[]=='u')
{
t1-=t[];
if(lock) lock=!lock;
if(!zz.empty())//题意!
{
int d=zz.front();zz.pop();
de.push_front(d); } }
else return ;
q[x]++;//放在上面自加是错误的 说明进入阻止队列时那次不算
} de.push_back(x); }

6-1 并行程序模拟 uva210的更多相关文章

  1. uva 210 - Concurrency Simulator (并行程序模拟)

    from CSDN: https://blog.csdn.net/su_cicada/article/details/87898579 例题6-1 并行程序模拟( Concurrency Simula ...

  2. 并行程序模拟(Concurrency Simulator, ACM/ICPC World Finals 1991,Uva210)

    任务介绍 你的任务是模拟n个程序的并行运算.(按照输入编号为1~n)的并行执行. 代码实现 #define LOCAL #include<bits/stdc++.h> using name ...

  3. UVa 210 并行程序模拟(deque)

    题意: 模拟n个程序运行 格式一共有5种:var = constant(赋值):print var(打印):lock:unlock:end, 上述5种语句分别需要t1.t2.t3.t4.t5单位时间 ...

  4. 【MPI学习6】MPI并行程序设计模式:具有不连续数据发送的MPI程序设计

    基于都志辉老师<MPI并行程序设计模式>第14章内容. 前面接触到的MPI发送的数据类型都是连续型的数据.非连续类型的数据,MPI也可以发送,但是需要预先处理,大概有两类方法: (1)用户 ...

  5. WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构

    原文:WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构 细算起来,已经有好几个月没有真正的写过文章了.近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析>的写作,一直 ...

  6. Java并发程序设计(二)Java并行程序基础

    Java并行程序基础 一.线程的生命周期 其中blocked和waiting的区别: 作者:赵老师链接:https://www.zhihu.com/question/27654579/answer/1 ...

  7. N体运动的程序模拟

    这依然是与<三体>有关的一篇文章.空间中三个星体在万有引力作用下的运动被称之为三体问题,参见我的上一篇文章:三体运动的程序模拟.而这一节,对三体问题进行了扩展,实现了空间中N个星体在万有引 ...

  8. C程序模拟实现银行家算法

    C程序模拟实现银行家算法 上周又做操作系统实验,题目是用程序模拟实现银行家算法,写了半天还真有点晕,主要是因为想尽可能符合课本上的描述,所以写出来的程序就比较恶心了,好了,银行家算法就不多说了,不了解 ...

  9. JAVA并行程序基础

    JAVA并行程序基础 一.有关线程你必须知道的事 进程与线程 在等待面向线程设计的计算机结构中,进程是线程的容器.我们都知道,程序是对于指令.数据及其组织形式的描述,而进程是程序的实体. 线程是轻量级 ...

随机推荐

  1. C# 批量修改文件名

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  2. SEO之robots.txt

    [关键词:robot.txt,sitemap,User-Agent,Disallow,Allow][声明:摘自Wikipedia] 1. 定义:robots.txt(统一小写)是一种存放于网站根目录下 ...

  3. python基础知识~配置文件模块

    一 配置文件模块   import ConfigParser ->导入模块  conf = ConfigParser.ConfigParser() ->初始化类二 系统函数  conf.r ...

  4. python 错误--UnboundLocalError: local variable '**' referenced before assignment

    val = 9 def test(flag): if flag: val = 1 else: print("test") return val if __name__ == '__ ...

  5. Python 入门基础18 --re模块+内存管理

    今日内容: 1.垃圾回收机制 2.re模块 一.垃圾回收机制 在计算机中,不能被程序访问到的数,称之为垃圾 1.1 引用计数 引用计数用来记录值的内存地址被记录的次数 每引用一次就对标记 +1 操作 ...

  6. SpringBoot2.x配置文件讲解

    SpringBoot2.x配置文件讲解 简介:SpringBoot2.x常见的配置文件 xml.yml.properties的区别和使用 xml.properties.json.yaml 1.常见的配 ...

  7. URLSession

    URLSession时ios7中的心得网络接口,与NSURLConnection是并列的. 当程序在前台时,URLSession与NSURLConnection大部分可以互相替代. URLSessio ...

  8. C++学习4-面向对象编程基础(面向对象概念,定义类,定义对象)

    什么是面向对象? 在软件的设计过程中的两种方式: 把程序按照算法的执行步骤来拆解,一步步实现,这是面向过程编程: 把程序按照现实世界的理解,分成不同对象,通过多个对象之间的相互作用,来完成程序的最终功 ...

  9. nginx配置集群

    1.准备两个Tomcat 首先在Linux机器上部署两个Tomcat,端口分别为80和8080 2.分别部署测试应用 在两个tomcat下分别部署同一个应用testapp,很简单,就是在页面显示当前系 ...

  10. imp高版本的dmp文件报错问题

    imp高版本的dmp文件报错问题   导出方:oracle 11R2  www.2cto.com     导入方:oracle 10R2   通过imp导入时提示如下:     解决方法:   通过编 ...