
-模拟
文章平均质量分 85
virgoDd
Good afternoon,good evening and good night
展开
-
HDU 4883 TIANKENG’s restaurant(模拟)
题意 天坑开了个饭店 他知道所有客人的进来时间和出去的时间 求天坑至少准备多少张凳子以分钟为单位 直接模拟就行了 peo[i]代表第i分钟的人 第i组人第si分钟进来 第so分钟出去 那么j从si到so peo[j]都加上这组的人数 最后看第几分钟人最多就是答案了#include #include using namespace std原创 2014-08-27 10:37:07 · 912 阅读 · 0 评论 -
Codeforces 534D Handshakes(贪心)
题意 房子里有n个人走进来 编号1~n 每个人走进来时房子里所有空闲的人都会和他招手 空闲的某三个人可以选择一起去打比赛 当然打比赛就变得不空闲了 给你每个人进来时和他招手的人的数量 要求输出一种可能的进房间顺序 没有可能的就输出Impossible这题放在d就比较简单了 直接贪心就可以 把招手数量为i对应的人都保存到栈s[i]里 第一个进房间的人肯定是s[0]里的 然原创 2015-04-13 18:22:01 · 1198 阅读 · 0 评论 -
Codeforces 230C Shifts(模拟)
题意 有n个m列的转盘 每个转盘的某一列为1或0 你每次可以将某个转盘转动一格 问至少转多少次使得某一列n个转盘上的数都是1把每个转盘的所有列转为1所需要的最小时间都存起来 可以以某一个1为基点顺时针逆时针各转一圈就可以把每个点需要转的次数算出来 最后看哪一列的和最小就行了#include using namespace std;const int N = 105, M原创 2015-04-07 20:05:14 · 933 阅读 · 0 评论 -
POJ 3087 Shuffle'm Up(模拟)
题意 给两堆牌s1,s2交给你洗 每堆有c张 每次洗牌得到s12 其中s2的最下面一张在s12的最下面一张然后按顺序一张s1一张s2 洗好之后可以把s12下面的c张做s1 上面的c张做s2 求多少次洗牌之后可以得到输入给你的串s 不能得到输出-1简单模拟 s1+s2!=s就一直洗牌 如果回到初始状态都没得到s就不会得到s了 得到s就可以输出洗牌次数了#inclu原创 2014-09-02 09:51:43 · 659 阅读 · 0 评论 -
UVa 12110 Printer Queue(特殊队列)
题意 模拟打印队列 队列中有优先级大于队首的元素 队首元素就排到队尾 否则队首元素出队 输出开始在p位置的元素是第几个出队的直接模拟这个过程就行了#include using namespace std;const int N = 205;int q[N];int main(){ int cas, n, p, cnt, front, rear, i;原创 2015-01-22 13:15:38 · 855 阅读 · 0 评论 -
UVa 1589 Xiangqi(模拟 HDU4121)
题意 给你一个黑方被将军的象棋残局 判断红方是否已经把黑方将死模拟题 注意细节就行了 看黑方的将是否四个方向都不能走#include#includeusing namespace std;const int N = 12;char brd[N][N];int dx[] = { -1, 1, 0, 0}, dy[] = {0, 0, -1, 1};int hx[] =原创 2015-01-20 14:07:37 · 2661 阅读 · 6 评论 -
UVa 202 Repeating Decimals(模拟)
大水题 模拟在草稿纸上算除法的过程→_→#include#includeusing namespace std;const int N = 3005;int a[N], v[N];int main(){ int n, m, cnt; while(~scanf("%d%d", &n, &m)) { cnt = 0; mems原创 2015-01-18 10:17:16 · 1144 阅读 · 0 评论 -
UVa 714 Copying Books(贪心 二分)
题意 把m数分成k组 使每组数的和的最大值最小 如果有多种分法 靠前的组的和尽量小关键是找出那个最小的最大值 可以通过二分来找出 开始左端点为m个数中最大的数 右端点为m个数的和 若中点能将m个数分为小于等于k组 比它大的肯定都是可以的 中点变为右端点 否则中点变成左端点然后就可以贪心逆向模拟了 从后往前每组选择尽量多的数直到剩下的数等于组数 #include原创 2015-02-03 19:10:03 · 1218 阅读 · 0 评论 -
UVa 11054 Wine trading in Gergovia(扫描)
题意 有n个村庄 第i个村庄需要买a[i]的酒 a[i]为负时该村庄可卖掉-a[i]的酒 保证所有a[i]的和为0 一个单位的酒从一个村庄运输到相邻村庄的消耗为1 求运输完所有酒需要的最小消耗总消耗最少时 每个需要买的村庄都会找离他最近的可以卖的村庄 容易发现 这种状况下 从第一个村和第二个村庄之间的运输量为abs(a[1]) 第二个村庄和第三个村庄之间的运输量为ab原创 2015-02-03 10:01:33 · 938 阅读 · 0 评论 -
UVa 1152 4Values whose Sum is 0
题意 从4个n元集中各挑出一个数 使它们的和为零有多少种方法直接n^4枚举肯定会超时的 可以把两个集合的元素和放在数组里 然后排序 枚举另外两个集合中两元素和 看数组中是否有其相反数就行了 复杂度为n^2*logn#include #define l(i) lower_bound(s,s+m,i)#define u(i) upper_bound(s,s+m,i)using原创 2015-01-29 10:49:22 · 978 阅读 · 0 评论 -
HDU 2577 How to Type(模拟)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2577 题意 给你一个由大写字母和小写字母组成的字符串 模拟键盘输入的最少按键次数直接模拟每个字符的输入 flag表示capslock的状态 1表示打开 0为关闭 开始是和输入完毕都是关闭的关闭的 用plu记录shift和capslock的按键次数当接下来输入的字母原创 2014-09-02 09:51:11 · 534 阅读 · 0 评论 -
POJ 3623 Best Cow Line, Gold(模拟)
题意 给你一个字符序列 你每次可以从它的头部或尾部拿出一个字符组成一个新的字符序列 输出这样做能达到的最小的字符序列 每行最多输出80个字符(开始被这个坑了好久)直接模拟就行 哪边小就选哪边 相等就往内看#include#include#includeusing namespace std;const int N = 30010;int main(){原创 2014-09-02 09:52:08 · 716 阅读 · 0 评论 -
Codeforce 264 B Caisa and Pylons(模拟)
题意 Caisa走台阶 有n个台阶 第i个台阶的高度为h[i] 从第i个台阶包括地面到下一个台阶得到的能量为h[i]-h[i+1] 能量不足以跳到下一个台阶就要补充能量 求Caisa跳完所有台阶最少要补充多少能量水题 直接模拟#include#includeusing namespace std;const int N = 100005;int原创 2014-08-30 18:36:26 · 877 阅读 · 0 评论 -
Codeforce 264 A Caisa and Sugar(简单)
Caisa去商店买Sugar 商店找零的最低单位为元 低于1元的部分每分找一个糖果 商店有n种Suger Caisa有s元钱 她只买一种Sugar 输入n s 再输入n行 每行两个数a b 表示第i种Sugar的单价为a元b分 求Sugar最多能被找多少糖果#include#include#includeusing namespace std;int m原创 2014-08-30 18:29:17 · 1151 阅读 · 0 评论 -
UVa 340 Master-Mind Hints(猜数字游戏的提示)
题意 猜数字游戏 统计猜的数字有多少个数字位置正确 有多少个数字在答案中出现但是位置不正确 每个字符只能匹配一次直接匹配每位数#include #include #include using namespace std; const int N = 1005; int a[N], b[N], c, d; int main() {原创 2014-08-31 09:20:01 · 1297 阅读 · 0 评论 -
UVa 12412 A Typical Homework(学生信息管理系统)
A Typical Homework(a.k.a Shi Xiong Bang Bang Mang)Hi, I am an undergraduate student in institute of foreign languages. As you know, C programming is a required course in our university, even if hi原创 2014-09-02 09:50:36 · 1545 阅读 · 0 评论 -
HDU 4907 BestCoder3_1 Task schedule
Task scheduleTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0Problem Description有一台机器,并且给你这台机器的工原创 2014-09-02 09:50:34 · 873 阅读 · 0 评论 -
ZOJ 3804 YY's Minions(模拟)
题意 你有n*m个小兵排成一个矩阵 每个在矩阵里的小兵有两种状态 0睡着 或 1清醒 每秒都会发生如下事件 睡着的小兵在他周围恰好有3个醒着的小兵时会醒过来 醒着的 小兵在周围醒着的的小兵数大于3或小于2时会睡着 还有k个小兵会在一定的时间离开 X 求f秒之后所有小兵的状态直接模拟就行咯~~#include#include#includeusing name原创 2014-09-01 22:23:18 · 848 阅读 · 0 评论 -
ZOJ 3427 Array Slicing (scanf使用)
题意 Watashi发明了一种蛋疼(eggache) 语言 你要为这个语言实现一个 array slicing 函数 这个函数的功能是 有一个数组初始为空 每次给你一个区间[ l, r) 和一些数 你要输出数组中下标在[l, r) 之间的数 然后删除这些数 然后把给你的那些数插入到数组的下标为 l 的位置签到模拟题 一直没看懂题意 看了Watashi的scanf高端用原创 2015-07-24 16:00:46 · 874 阅读 · 0 评论