PTA 7-4(队列) 银行排队问题之单窗口“夹塞”版(30 分) 30分代码
来源:互联网 发布:qt中socket编程 编辑:程序博客网 时间:2024/04/29 16:01
模拟一下
(注:博客作为交流使用,切勿抄袭应付作业)
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <cmath>#include <set>#include <map>#include <stack>#include <queue>#include <ctype.h>#include <vector>#include <algorithm>#include <sstream>#define PI acos(-1.0)#define in freopen("in.txt", "r", stdin)#define out freopen("out.txt", "w", stdout)using namespace std;typedef long long ll;const int maxn = 10000 + 7;int n, m, L, sum;struct node { string name; int t, p, len;}a[maxn];bool vis[maxn];vector<string> vec;map<string, int> mp;void init() { memset(vis, false, sizeof vis); sum = 0; scanf("%d %d", &n, &m); for(int i = 1; i <= m; ++i) { scanf("%d", &L); string s; for(int j = 0; j < L; ++j) { cin >> s; mp[s] = i; //vec[i].push_back(s); } } int cnt = m+1; for(int i = 0; i < n; ++i) { cin >> a[i].name; if(mp[a[i].name] == 0) mp[a[i].name] = cnt++; scanf("%d %d", &a[i].t, &a[i].p); if(a[i].p > 60) a[i].p = 60; } //cout << mp["ANN"] << " === " << mp["AMY"] << endl;}void work(int pos, int id) { for(int i = pos+1; i < n; ++i) { if(!vis[i]) { if(mp[a[i].name] == id) { if(a[i].t <= sum) { vis[i] = true; a[i].len = sum - a[i].t; sum += a[i].p; vec.push_back(a[i].name); } else return; } } }}void solve() { for(int i = 0; i < n; ++i) { if(!vis[i]) { vis[i] = true; if(a[i].t > sum) sum = a[i].t; a[i].len = sum - a[i].t; sum += a[i].p; vec.push_back(a[i].name); work(i, mp[a[i].name]); } } for(int i = 0; i < vec.size(); ++i) cout << vec[i] << endl; sum = 0; for(int i = 0; i < n; ++i) { sum += a[i].len; } printf("%.1lf\n", 1.0*sum/n);}int main() { init(); solve(); return 0;}
阅读全文
1 0
- PTA 7-4(队列) 银行排队问题之单窗口“夹塞”版(30 分) 30分代码
- PTA 7-6(队列) 银行排队问题之单队列多窗口加VIP服务(30 分) 30分代码 大模拟
- PTA 7-6(队列) 银行排队问题之单队列多窗口加VIP服务(30 分) 30分代码
- PTA 7-1 银行排队问题之单队列多窗口服务(25 分)25分代码 (小模拟)
- 银行排队问题之单队列多窗口加VIP服务(30 分)
- 银行排队问题之单窗口“夹塞”版(30 分)
- 4 银行排队问题之单队列多窗口加VIP服务 (30分)----模拟
- PintiA 银行排队问题之单队列多窗口服务(25 分)栈与队列
- 5-48 银行排队问题之单窗口“夹塞”版 (30分)
- 5-48 银行排队问题之单窗口“夹塞”版 (30分)
- 银行排队问题之单窗口“夹塞”版(pta)
- PTA 7-5 银行排队问题之单队列多窗口服务
- PTA 7-6 银行排队问题之单队列多窗口加VIP服务
- 天梯赛 银行排队问题之单队列多窗口服务 (25分)
- 7-4 银行排队问题之单窗口“夹塞”版
- PAT 银行排队问题之单窗口“夹塞”版 (队列+模拟) -- 解题报告
- 银行排队问题之单队列多窗口服务
- PTA 7-7(排序) Windows消息队列(25 分) 25分代码 优先队列
- linux 基础5
- 14 事物&&连接池
- 查找
- CLASSLOADER详解
- Fast R-CNN roidb数据准备
- PTA 7-4(队列) 银行排队问题之单窗口“夹塞”版(30 分) 30分代码
- sdut 2134 数据结构实验之栈与队列四:括号匹配
- Loi 模拟试题1
- linux基础命令(一)常用简单命令及快捷键
- React Native 之读取JSON 文件
- Java IO 自己实现缓冲区
- 文章标题
- SQL 左外连接,右外连接,全连接,内连接
- 深度学习笔记(一):基于numpy的深度神经网络程序总览