ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-09-24meituan-012小美的书架

2021-09-24 15:02:45  阅读:176  来源: 互联网

标签:24meituan locked 书架 int scanf 09 美的 book 编号


在这里插入图片描述
输入:

  • 第一行三个正整数 M,N,Q,表示小美书架有 N 行编号 1 到 N ,书本编号从 1 到 M ,接下来有 Q 个操作
  • 接下来 Q 行,每行是下列操作中的一种:
    1. x y : x 是书本的编号,y 是书架的行编号,代表小美将编号为 x 的书本放置到 y 行上。若该书本在小团手上则放置无效,若原来该书在书架上且原行上锁则放置无效,若该书被放置到一个锁了的行上则放置无效。
    2. y : y 是书架的行编号,代表小美将行编号为 y 的书架加锁,对已经上锁的书架行该操作无效。
    3. y : y 是书架的行编号,代表小美将行编号为 y 的书架锁去掉,对无锁的书架行该操作无效。
    4. x : x 是书本的编号,代表小团想借编号为 x 的书本,对该操作若可以借到输出一行正整数在哪一行,借不到输出一行 -1
    5. x : x 是书本的编号,代表小团还回来编号为 x 的书本。若该书本不在小团手上该操作无效。
      输出:
  • 对于每个操作 4 ,若可以借到输出一行正整数在哪一行,借不到输出一行 -1 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/FvoBGh
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

输入:
5 5 10
1 1 4
1 2 3
1 3 1
2 1
4 1
5 2
4 3
4 5
3 1
4 2
输出:
4
-1
-1
3

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/FvoBGh
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
在这里插入图片描述

#include<cstdio>
#include<cstring>

using namespace std;

int main() {
    int m, n, q;
    scanf("%d %d %d", &m, &n, &q);
    int book[m + 1]; // 1~m号书在哪行书架上,0表示未上架,-1表示借出
    memset(book, 0, sizeof(book));
    int locked[n + 1]; // 1~n行书架是否加锁
    memset(locked, 0, sizeof(locked));
    for (int i = 0; i < q; ++i) {
        int c;
        scanf("%d", &c);
        switch(c) {
            int x, y;
            case 1:
                scanf("%d %d", &x, &y);
                if (locked[y] == 0 && (book[x] == 0 || book[x] > 0 && locked[book[x]] == 0))
                    book[x] = y;
                break;
            case 2:
                scanf("%d", &y);
                locked[y] = 1;
                //1表示对这一行的书本进行加锁
                break;
            case 3:
                scanf("%d", &y);
                locked[y] = 0;
                break;
            case 4:
                scanf("%d", &x);
                if (book[x] > 0 && locked[book[x]] == 0) { // 上架且未上锁的书才可以借出
                    printf("%d\n", book[x]);
                    book[x] = -1; // 借出
                }
                else
                    printf("-1\n");
                break;
            case 5:
                scanf("%d", &x);
                if (book[x] == -1)
                    book[x] = 0; // 还书,变为未上架状态
                break;
        }
    }
    return 0;
}

/*作者:xgn911
链接:https://leetcode-cn.com/problems/FvoBGh/solution/cyong-shu-zu-shi-xian-ha-xi-by-xgn911-bh8i/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/

标签:24meituan,locked,书架,int,scanf,09,美的,book,编号
来源: https://blog.csdn.net/weixin_51187533/article/details/120452046

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有