0
点赞
收藏
分享

微信扫一扫

Six_Training




#include <iostream>
#include <cstdio>
#include <set>
using namespace std;
#define M 1002
#define N 100002
#define INF 10000002


int m,n;
set<int>user[M];
int lib[N];
void init()
{
    int i;
    for( i=1; i<=m; i++)
     {
       user[i].clear();
     }
    for(i=1; i<=n; i++)
        lib[i]=INF;
}
int main()
{
   
    int q,ui,bi,j;
    char c;
    while(~scanf("%d%d",&m,&n))
    {
        init();
        scanf("%d",&q);
        getchar();
        for(int i=0; i<q; i++)
        {
            scanf("%c",&c);
            switch(c){
            case 'B':
                scanf("%d%d",&ui,&bi);
                if(lib[bi]<INF)
                {
                    printf("The book is not in the library now\n");
                }
                else if(user[ui].size()>=9)
                {
                    printf("You are not allowed to borrow any more\n");
                }
                else
                {
                    printf("Borrow success\n");
                    user[ui].insert(bi);
                    lib[bi]=ui;
                }
                break;
            case 'R':
                scanf("%d",&bi);
                if(lib[bi]==INF)
                {
                    printf("The book is already in the library\n");
                }
                else
                {
                    user[lib[bi]].erase(bi);
                    lib[bi]=INF;
                    printf("Return success\n");
                }
                break;
            case 'Q':
                scanf("%d",&ui);
                if(user[ui].size()==0)
                 {
                     printf("Empty\n");break;
                 }
                 set<int>::iterator it=user[ui].begin();
                 printf("%d",*it);
                for(it++;it!=user[ui].end();it++)
                    printf(" %d",*it);
                    printf("\n");
                break;
            }
            getchar();
        }
        cout<<endl;
    }
    return 0;
}

举报

相关推荐

0 条评论