链表。

  1. #include <cstdio>
  2. #include <cstring>
  3. #include <cstdlib>
  4.  
  5. #define MAXM 1001
  6. #define MAXN 100001
  7.  
  8. int un[MAXM], ub[MAXM];
  9. int v[MAXN];
  10. int next[MAXN];
  11.  
  12. int comp(const void *a, const void *b) {
  13. return *(int *)a - *(int *)b;
  14. }
  15.  
  16. int main() {
  17. int m, n, t;
  18. int i, j, k;
  19. int ui, bi;
  20. int bid[];
  21. char cmd[];
  22.  
  23. #ifndef ONLINE_JUDGE
  24. freopen("data.in", "r", stdin);
  25. #endif
  26.  
  27. while (scanf("%d %d", &m, &n) != EOF) {
  28. scanf("%d", &t);
  29. memset(un, , sizeof(un));
  30. memset(ub, , sizeof(ub));
  31. memset(v, , sizeof(v));
  32. while (t--) {
  33. scanf("%s", cmd);
  34. if (cmd[] == 'B') {
  35. // borrow ui bi
  36. scanf("%d %d", &ui, &bi);
  37. if (v[bi]) {
  38. printf("The book is not in the library now\n");
  39. } else if (un[ui] == ) {
  40. printf("You are not allowed to borrow any more\n");
  41. } else {
  42. v[bi] = ui;
  43. next[bi] = ub[ui];
  44. ub[ui] = bi;
  45. un[ui]++;
  46. printf("Borrow success\n");
  47. }
  48. }
  49. if (cmd[] == 'R') {
  50. // return bi
  51. scanf("%d", &bi);
  52. if (v[bi] == ) {
  53. printf("The book is already in the library\n");
  54. } else {
  55. ui = v[bi];
  56. i = ;
  57. j = ub[ui];
  58. if (j == bi) {
  59. ub[ui] = next[j];
  60. } else {
  61. while (i<un[ui] && bi!=next[j]) {
  62. j = next[j];
  63. ++i;
  64. }
  65. next[j] = next[bi];
  66. }
  67. un[ui]--;
  68. v[bi] = ;
  69. printf("Return success\n");
  70. }
  71. }
  72. if (cmd[] == 'Q') {
  73. // query ui
  74. scanf("%d", &ui);
  75. if (un[ui]) {
  76. i = ;
  77. j = ub[ui];
  78. while (i < un[ui]) {
  79. bid[i++] = j;
  80. j = next[j];
  81. }
  82. qsort(bid, un[ui], sizeof(int), comp);
  83. for (i=; i<un[ui]-; ++i)
  84. printf("%d ", bid[i]);
  85. printf("%d\n", bid[i]);
  86. } else {
  87. printf("Empty\n");
  88. }
  89. }
  90. }
  91. printf("\n");
  92. }
  93.  
  94. return ;
  95. }

【HDOJ】1497 Simple Library Management System的更多相关文章

  1. Simple Library Management System HDU - 1497(图书管理系统)

    Problem Description After AC all the hardest problems in the world , the ACboy 8006 now has nothing ...

  2. 【HDOJ】2451 Simple Addition Expression

    递推,但是要注意细节.题目的意思,就是求s(x) = i+(i+1)+(i+2),i<n.该表达中计算过程中CA恒为0(包括中间值)的情况.根据所求可推得.1-10: 31-100: 3*41- ...

  3. 【HDOJ】1341 Simple Computers

    注意PC要与31. #include <cstdio> #include <cstring> #include <cstdlib> #define MAXN 40 ...

  4. 【CF802C】Heidi and Library(网络流)

    [CF802C]Heidi and Library(网络流) 题面 CF 洛谷 题解 前面两个Easy和Medium都是什么鬼玩意啊.... 不难发现如果这天的要求就是第\(a_i\)种书的话,那么\ ...

  5. 【BZOJ3489】A simple rmq problem(KD-Tree)

    [BZOJ3489]A simple rmq problem(KD-Tree) 题面 BZOJ 题解 直接做肯定不好做,首先我们知道我们是一个二维平面数点,但是限制区间只能出现一次很不好办,那么我们给 ...

  6. 【CF802C】Heidi and Library (hard) 费用流

    [CF802C]Heidi and Library (hard) 题意:有n个人依次来借书,第i人来的时候要求书店里必须有种类为ai的书,种类为i的书要花费ci块钱购入.而书店的容量只有k,多余的书只 ...

  7. 【BZOJ3489】A simple rmq problem

    [BZOJ3489]A simple rmq problem 题面 bzoj 题解 这个题不强制在线的话随便做啊... 考虑强制在线时怎么搞 预处理出一个位置上一个出现的相同数的位置\(pre\)与下 ...

  8. 【BZOJ3489】A simple rmq problem kd-tree

    [BZOJ3489]A simple rmq problem Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过 ...

  9. 【Winform】 无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”。

    问题:将dotnet framework 4.0 切换到2.0时,编译没有问题,在运行时出现如下错误:System.InvalidCastException: 无法将类型为“System.Window ...

随机推荐

  1. Android学习之电话拨号器

    本人自己是做android驱动的,也会接触到系统层.上层的应用,所以在闲暇的时候也就开始了学习android应用的路程,在这里把这些东西记下来,希望自己能坚持下去,也好以后复习用. 今天先实现一个简单 ...

  2. LeetCode Maximum Product Subarray 解题报告

    LeetCode 新题又更新了.求:最大子数组乘积. https://oj.leetcode.com/problems/maximum-product-subarray/ 题目分析:求一个数组,连续子 ...

  3. shell 中条件判断

    if 中的 -z 到 -d 的意思 2011-09-05 10:30 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [  ...

  4. C#3.0 语言基础扩充

    隐含类型局部变量 var i = 5; var h = 13.4; var s = "C Sharp"; var intArr = new[] {1,2,3 }; var a = ...

  5. Hadoop安装测试简单记录

    安装的节点如下:1个namenode.1个hiveserver.3个dataNode192.168.1.139   namenode1192.168.1.146   hiveserver 192.16 ...

  6. ASP.NET-FineUI开发实践-4

    最近实在没时间研究东西,FineUI一直也没进一步实践,但是还是很想学点东西,所以找了个课题研究了下,在论坛里看见了又下角的提醒,自己想了想做了一个,我不是大神,接触EXTJS很少,就是用到哪看哪,没 ...

  7. 关于ImageView加载出现OOM问题

    略感蛋疼,一直以为应该不是这个问题的,所以调试了一下午,后来测试了下如果在XML里面改变ImageView的src话会出现什么问题 结果如我预料,仍然是只能显示部分图片,因为之前有运行成功了,我也不清 ...

  8. Git系列(1) Windows下Git服务器搭建

    作为对前两天Git服务器搭建的一个整理,我想分别从服务端和客户端两个角度来记录下整个搭建过程,为了达到目标,我们需要哪些操作. (一)服务端软件和账号的安装配置 我们这里只需要两个软件git和ssh, ...

  9. Topshelf

    Topshelf允许开发者创建一个简单的控制台程序,将其安装为一个window服务. 这样做的原因很简单:方便调试. 使用命令行工具可以很方面的安装Topshelf创建的服务. server.exe ...

  10. Jquery.Sorttable 桌面拖拽自定义

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...