栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1749 Lock Manager

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1749 Lock Manager

#include <cstdio>#include <string.h>using namespace std;int Abs(int a){return a<0?-a:a;}struct Lnode{int key,data,d2;Lnode *next;Lnode(){next=NULL;data=d2=2100000000;}};#define MODULO 9101struct HashTable{Lnode *head[MODULO];HashTable(){memset(head,0,sizeof(head));}Lnode *tIns(int k){int w;Lnode *p;w=k%MODULO;p=head[w];while (p){if (p->key==k)return p;p=p->next;}p=new Lnode;p->key=k;p->next=head[w];head[w]=p;return p;}Lnode *Find(int k){int w;Lnode *p;w=k%MODULO;p=head[w];while (p){if (p->key==k)return p;p=p->next;}return NULL;}};int main(){HashTable blocked,used;char cmd[10];Lnode *p;int tr,it;while (scanf("%s",cmd)!=EOF && cmd[0]!='#'){scanf("%d %d",&tr,&it);p=blocked.Find(tr);if (p)puts("IGNORED");else{p=used.Find(it);if (p && ((Abs(p->data)!=tr && (cmd[0]=='X' || p->data<0))|| (p->d2!=2100000000 && Abs(p->d2)!=tr && (cmd[0]=='X' || p->d2<0)))){puts("DENIED");blocked.tIns(tr);}else{puts("GRANTED");p=used.tIns(it);if (p->data==2100000000){if (cmd[0]=='X')p->data=-tr;else p->data=tr;}else{p->d2=p->data;if (cmd[0]=='X')p->data=-tr;else p->data=tr;}}}}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379510.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号