紫书章六例题一(双端口队列)
来源:互联网 发布:手机淘宝销量排名 编辑:程序博客网 时间:2024/06/05 18:24
题目比较难懂,然后之后的就还好。双端口队列
deque q;
q.push_back();
q.push_front();
q.pop_front();
q.pop_back();
q.front();
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <queue>#include <vector>#include <sstream>using namespace std;const int maxn = 1005;vector<string> v[maxn];queue< int > qz;deque < int > qd;int p[maxn];//进行到第几步int val[30];//变量的值int t[10],Q;int LOCK=0;void run(int i){ int total=Q; while(total>0)//注意是大于0!!! { string cur=v[i][p[i]]; if(cur[2]=='=') { total-=t[0]; string a=cur.substr(4); stringstream ss; ss<<a; int len; ss>>len; val[cur[0]-'a']=len; } else if(cur[2]=='i') { total-=t[1]; printf("%d: %d\n",i,val[cur[6]-'a']); } else if(cur[2]=='c') { total-=t[2]; if(!LOCK) {LOCK=1;} else {qz.push(i);return ;} } else if(cur[2]=='l') { total-=t[3]; LOCK=0; if(!qz.empty()){ int tt=qz.front(); qz.pop(); qd.push_front(tt); } } /* else if(cur[2]=='d') { total-=t[4]; flag=1; continue; }*/ else return ;//如果为end的话直接return,还不用考虑那么多 p[i]++; } qd.push_back(i);}int main(){ // freopen ("E:\\input.txt","r",stdin); int case1; scanf("%d",&case1); while(case1--){ // while(!qz.empty()) qz.pop(); //for(int i=0;i<maxn;i++)v[i].clear(); memset(val,0,sizeof(val)); // memset(t,0,sizeof(t)); memset(p,0,sizeof(p)); int n; scanf("%d",&n); for(int j=0;j<5;j++) scanf("%d",&t[j]); scanf("%d",&Q); for(int i=1;i<=n;i++) { v[i].clear(); string s; while(getline(cin,s)) { if(s=="") continue; v[i].push_back(s); if(s=="end") break; } qd.push_back(i); } while(!qd.empty()) { int temp=qd.front(); qd.pop_front(); run(temp); } if(case1) printf("\n"); } return 0;}
0 0
- 紫书章六例题一(双端口队列)
- 例题6-1 UVa 210(deque 双端队列)
- 文件例题(一)
- 算法例题(一)
- 例题6-1 双端队列 uva210
- 例题:团体队列(UVa 540)
- 计算机网络相关例题(一)
- 一道循环队列例题
- BFS和队列例题
- 优先队列例题
- 经典多态例题(一)
- c++例题 构造函数(一)
- 结构体指针例题(一)
- C语言经典例题(一)
- 例题6-1 并行程序模拟 UVa210 双端队列
- Uva210 Concurrency Simulator 【双端队列deque】【例题6-1】
- 紫书例题6-1 UVa210 ( 双端队列
- 算法竞赛入门经典例题-优先队列(阿格斯)
- Linux-ubuntu 日记( 2 )- 建立一个MySQL数据库
- Android初级知识--自定义任何样式的对话框
- Unity正则表达式账号密码验证
- MYSQL使用正则表达式过滤数据
- Android Studio 插件无缘无故就消失了
- 紫书章六例题一(双端口队列)
- 第四次作业
- 基于Socket编程的网络聊天室
- Jmeter基础-参数化
- C++之try和catch入门
- zoj2833
- Linux 操作系统错误代码解释
- 第二章 JAVA中的变量和常量学习
- 九度OJ题目1041:Simple Sorting解题报告