题解 | #小美的书架#

小美的书架

http://www.nowcoder.com/practice/b34000b87e92468d86f380dc02c97eb9

#include<bits/stdc++.h>
using namespace std;
int main() {
    int N, M, Q;
    cin >> N >> M >> Q;
    int a, x, y;
    vector<bool> shelf(10001, false);
    vector<int> book(10001, 0);
    vector<int> borrow;
    while (Q--) {
        cin >> a;
        switch (a) {
        case 1:
            cin >> x >> y;
            if (book[x] != -1 && !shelf[book[x]] && !shelf[y])
                book[x] = y;
            break;
        case 2:
            cin >> y;
            shelf[y] = true;
            break;
        case 3:
            cin >> y;
            shelf[y] = false;
            break;
        case 4:
            cin >> x;
            if (book[x] != -1 && book[x] != 0 && !shelf[book[x]]) {
                borrow.push_back(book[x]);
                book[x] = -1;
            }
            else
                borrow.push_back(-1);
            break;
        case 5:
            cin >> x;
            if (book[x] == -1)
                book[x] = 0;
            break;
        default:
            break;
        }

    }
    for (int i = 0; i < borrow.size(); i++)
        cout << borrow[i] << endl;
}

vector<bool> shelf(N + 1, false);
    vector<int> book(M + 1, 0);

会发生溢出。改成

vector<bool> shelf(10001, false);
    vector<int> book(10001, 0);

之后测试通过。

全部评论

相关推荐

点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
Twilight_mu:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务