用到了 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. Mybatis中的StatementType

    原文:http://luoyu-ds.iteye.com/blog/1517607 要实现动态传入表名.列名,需要做如下修改 添加属性statementType=”STATEMENT” 同时sql里的 ...

  2. XQuartz简介

    这是一个类似于中转的软件,比如现在在Mac上,YY语音还没有官方版的,但其实在Mac上,有了XQuartz就可以实现运行YY了,下载这个从Windows上移植过来的软件,然后打开的时候,Mac会提醒你 ...

  3. <hr />改变颜色

    其实,<hr />是有默认的border的,改变border颜色即可改变hr颜色. 例如: <hr style="position: relative;top: 2.3re ...

  4. python线程,pipe管道通信原理

    Pipe管道: * 管道实例化后会产生两个通道,分别交给两个进程* 通过send和recv来交互数据,这是一个双向的管道,child和parent可以互相收发 from multiprocessing ...

  5. python - class类 (一)

    三大编程范式 1.面向过程 2.函数式 3.面向对象 注意 编程范式没有高低之分,只有适用不适用. 面向对象编程: 编程是程序源用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一 ...

  6. python 设计及调试的一些小技巧

    在“笨办法学习python”中介绍了一些设计函数以及调试技巧: 参考网址:http://www.jb51.net/shouce/Pythonbbf/latest/ex36.html If 语句的规则¶ ...

  7. nginx入门三

    负载均衡 upstream upstream app_server { server 127.0.0.1:8000; server 192.168.2.134:80; server 47.xx.xx. ...

  8. latex 字体大小设置

    tex 设置字体大小命令由小到大依次为: \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \ ...

  9. centos6.5下java和tomcat环境部署

    软件包: tomcat安装包 apache-tomcat-7.0.67.zip jdk安装包 jdk-6u10-linux-x64.bin 下载地址:http://www.oracle.com/tec ...

  10. 通达OA2008从windows环境移植到linux部署手册

    通达OA2008从windows环境移植到linux中(centos5.5及以上版本) OA系统拓扑图: 环境搭建(安装lamp环境) 1.安装xampp集成lamp包xampp-linux-1.6. ...