【HDOJ】1497 Simple Library Management System
链表。
- #include <cstdio>
- #include <cstring>
- #include <cstdlib>
- #define MAXM 1001
- #define MAXN 100001
- int un[MAXM], ub[MAXM];
- int v[MAXN];
- int next[MAXN];
- int comp(const void *a, const void *b) {
- return *(int *)a - *(int *)b;
- }
- int main() {
- int m, n, t;
- int i, j, k;
- int ui, bi;
- int bid[];
- char cmd[];
- #ifndef ONLINE_JUDGE
- freopen("data.in", "r", stdin);
- #endif
- while (scanf("%d %d", &m, &n) != EOF) {
- scanf("%d", &t);
- memset(un, , sizeof(un));
- memset(ub, , sizeof(ub));
- memset(v, , sizeof(v));
- while (t--) {
- scanf("%s", cmd);
- if (cmd[] == 'B') {
- // borrow ui bi
- scanf("%d %d", &ui, &bi);
- if (v[bi]) {
- printf("The book is not in the library now\n");
- } else if (un[ui] == ) {
- printf("You are not allowed to borrow any more\n");
- } else {
- v[bi] = ui;
- next[bi] = ub[ui];
- ub[ui] = bi;
- un[ui]++;
- printf("Borrow success\n");
- }
- }
- if (cmd[] == 'R') {
- // return bi
- scanf("%d", &bi);
- if (v[bi] == ) {
- printf("The book is already in the library\n");
- } else {
- ui = v[bi];
- i = ;
- j = ub[ui];
- if (j == bi) {
- ub[ui] = next[j];
- } else {
- while (i<un[ui] && bi!=next[j]) {
- j = next[j];
- ++i;
- }
- next[j] = next[bi];
- }
- un[ui]--;
- v[bi] = ;
- printf("Return success\n");
- }
- }
- if (cmd[] == 'Q') {
- // query ui
- scanf("%d", &ui);
- if (un[ui]) {
- i = ;
- j = ub[ui];
- while (i < un[ui]) {
- bid[i++] = j;
- j = next[j];
- }
- qsort(bid, un[ui], sizeof(int), comp);
- for (i=; i<un[ui]-; ++i)
- printf("%d ", bid[i]);
- printf("%d\n", bid[i]);
- } else {
- printf("Empty\n");
- }
- }
- }
- printf("\n");
- }
- return ;
- }
【HDOJ】1497 Simple Library Management System的更多相关文章
- Simple Library Management System HDU - 1497(图书管理系统)
Problem Description After AC all the hardest problems in the world , the ACboy 8006 now has nothing ...
- 【HDOJ】2451 Simple Addition Expression
递推,但是要注意细节.题目的意思,就是求s(x) = i+(i+1)+(i+2),i<n.该表达中计算过程中CA恒为0(包括中间值)的情况.根据所求可推得.1-10: 31-100: 3*41- ...
- 【HDOJ】1341 Simple Computers
注意PC要与31. #include <cstdio> #include <cstring> #include <cstdlib> #define MAXN 40 ...
- 【CF802C】Heidi and Library(网络流)
[CF802C]Heidi and Library(网络流) 题面 CF 洛谷 题解 前面两个Easy和Medium都是什么鬼玩意啊.... 不难发现如果这天的要求就是第\(a_i\)种书的话,那么\ ...
- 【BZOJ3489】A simple rmq problem(KD-Tree)
[BZOJ3489]A simple rmq problem(KD-Tree) 题面 BZOJ 题解 直接做肯定不好做,首先我们知道我们是一个二维平面数点,但是限制区间只能出现一次很不好办,那么我们给 ...
- 【CF802C】Heidi and Library (hard) 费用流
[CF802C]Heidi and Library (hard) 题意:有n个人依次来借书,第i人来的时候要求书店里必须有种类为ai的书,种类为i的书要花费ci块钱购入.而书店的容量只有k,多余的书只 ...
- 【BZOJ3489】A simple rmq problem
[BZOJ3489]A simple rmq problem 题面 bzoj 题解 这个题不强制在线的话随便做啊... 考虑强制在线时怎么搞 预处理出一个位置上一个出现的相同数的位置\(pre\)与下 ...
- 【BZOJ3489】A simple rmq problem kd-tree
[BZOJ3489]A simple rmq problem Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过 ...
- 【Winform】 无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”。
问题:将dotnet framework 4.0 切换到2.0时,编译没有问题,在运行时出现如下错误:System.InvalidCastException: 无法将类型为“System.Window ...
随机推荐
- Android学习之电话拨号器
本人自己是做android驱动的,也会接触到系统层.上层的应用,所以在闲暇的时候也就开始了学习android应用的路程,在这里把这些东西记下来,希望自己能坚持下去,也好以后复习用. 今天先实现一个简单 ...
- LeetCode Maximum Product Subarray 解题报告
LeetCode 新题又更新了.求:最大子数组乘积. https://oj.leetcode.com/problems/maximum-product-subarray/ 题目分析:求一个数组,连续子 ...
- shell 中条件判断
if 中的 -z 到 -d 的意思 2011-09-05 10:30 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ ...
- C#3.0 语言基础扩充
隐含类型局部变量 var i = 5; var h = 13.4; var s = "C Sharp"; var intArr = new[] {1,2,3 }; var a = ...
- Hadoop安装测试简单记录
安装的节点如下:1个namenode.1个hiveserver.3个dataNode192.168.1.139 namenode1192.168.1.146 hiveserver 192.16 ...
- ASP.NET-FineUI开发实践-4
最近实在没时间研究东西,FineUI一直也没进一步实践,但是还是很想学点东西,所以找了个课题研究了下,在论坛里看见了又下角的提醒,自己想了想做了一个,我不是大神,接触EXTJS很少,就是用到哪看哪,没 ...
- 关于ImageView加载出现OOM问题
略感蛋疼,一直以为应该不是这个问题的,所以调试了一下午,后来测试了下如果在XML里面改变ImageView的src话会出现什么问题 结果如我预料,仍然是只能显示部分图片,因为之前有运行成功了,我也不清 ...
- Git系列(1) Windows下Git服务器搭建
作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh, ...
- Topshelf
Topshelf允许开发者创建一个简单的控制台程序,将其安装为一个window服务. 这样做的原因很简单:方便调试. 使用命令行工具可以很方面的安装Topshelf创建的服务. server.exe ...
- Jquery.Sorttable 桌面拖拽自定义
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...