![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模拟
ethannotlazy
这个作者很懒,什么都没留下…
展开
-
1057 Stack (30分)
用两个multiset来划分栈中的元素,s1保存较小的一半,s2保存较大的一半,当要输出中位数时直接输出s1的最后一个元素。注意multiset的用法。#include<cstdio>#include<set>#include<stack>#include<cstring>using namespace std;const int in...原创 2020-03-27 16:05:48 · 139 阅读 · 0 评论 -
1049 Counting Ones (30分)
思路:分别对每位1的出现次数进行统计#include<iostream>using namespace std;int main() { long long num, count = 0; cin >> num; //take 132 as an example long long digit = 1; //indicate which digit's one...原创 2020-03-21 17:26:09 · 74 阅读 · 0 评论 -
1026 Table Tennis (30分)
这题无疑是PAT甲级最难的一题。首先对两个实体设置结构体Player和Table用list模拟排队的队伍,用priority_queue模拟正在被占用的球桌。用一个int模拟时间的流逝,每逝去一秒依次检查:有无桌子结束游戏;有无新的玩家到达;如果队列中有玩家等候,且有空桌,按选桌规则让一个玩家开始游玩。桌子选取规则:普通玩家直接选取桌号最小的;vip玩家优先选择桌号最小的...原创 2020-03-10 23:23:56 · 96 阅读 · 0 评论 -
1017 Queueing at Bank (25分)
用一个int变量模拟时间的流逝,每过去一秒就依次检查一下:有没有结束服务的窗口;有没有新到达的顾客;有没有空窗口,如果有,并且队列中有顾客,让该窗口接收一个顾客;注意以上顺序不能互换。为了加快检查窗口的速度,用优先队列模拟窗口;为了检查有无顾客到达,先对所有顾客到达时间进行排序。注意五点之后到达的顾客不计算在内。#include<cstdio>#include<...原创 2020-03-07 19:29:25 · 99 阅读 · 1 评论 -
1014 Waiting in Line (30分)
用队列模拟排队,用结构体记录顾客的信息:开始得到服务的时间、服务时长、结束时间。先将各窗口前的队列依次填满,之后每次从所有窗口中找出下一个结束服务的窗口。将这个窗口的下一个顾客的开始时间设为当前顾客的结束时间,如果黄线外还有更多的顾客,将一个顾客加入到这个窗口的队列中。#include<cstdio>#include<queue>using namespace s...原创 2020-03-04 16:05:10 · 113 阅读 · 0 评论 -
1009 Product of Polynomials (25分)
用数组存多项式,数组下标为多项式次数,存的内容是多项式系数。#include<cstdio>double p1[1001] = { 0 }, p2[1001] = { 0 }, res[2501] = { 0 };int main() { int k1, k2, k3 = 0; scanf("%d", &k1); for (int i = 0;i < k1;...原创 2020-03-02 18:14:57 · 76 阅读 · 0 评论 -
1002 A+B for Polynomials (25分)
因为多项式最高次只有1000,用数组保存多项式比较简单,数组下标对应多项式次数,保存的数字对应多项式系数。相加后,将系数不为0的项输出即可。#include<cstdio>int main() { double p1[1001] = { 0 }, p2[1001] = { 0 }, res[1001] = { 0 }; int n1, n2; scanf("%d", &...原创 2020-02-28 23:34:29 · 74 阅读 · 0 评论 -
1148 Werewolf - Simple Version (20分)
两种思路:每次假设特定的两个人在说谎#include<cstdio>#include<vector>#include<unordered_set>#include<set>#include<algorithm>using namespace std;int word[102];int state[102];ve...原创 2020-02-08 15:11:06 · 194 阅读 · 0 评论 -
1139 First Contact (30分)
A在寻找同性朋友时,需要避免找到他想要的伴侣B如果用int接收一对朋友,-0000和0000对于int来说都是0,将无法得知这个人的性别#include<iostream>#include<string>#include<unordered_set>#include<cmath>#include<vector>#in...原创 2020-02-06 14:27:04 · 158 阅读 · 1 评论 -
1128 N Queens Puzzle (20分)
两种思路:1. 用二维数组模拟一个棋盘,对每个皇后所在的行、对角线进行扫描,如果没有其它皇后,则输出YES,否则输出NO。#include<cstdio>#include<algorithm>#include<vector>#include<unordered_set>using namespace std;bool board[1...原创 2020-02-04 17:35:06 · 87 阅读 · 0 评论