2.大话西游与数字游戏
“叉烧鸡翅膀我呀最爱吃!……”
百度spider组的“黑龙潭之行”在烤着鸡翅,唱着星爷的经典时达到高潮大家在篝火旁围成一圈,开始玩“数7”加强蝂游戏规则如下:
规则1:遇7的倍数或含7的数时pass。
规则2:遇有包含相同数字的数时pass注意相同数字不必相邻。例如121
数错的惩罚很残酷——吞食烤全羊。为避免惩罚百度工程师们需要你——史上最强程序员的帮助。百度工程师想知道:
req12 z:同时符合规则1、2的第z个数是什么
query n:数n是规则1中的第几个数,是规则2中的第几个数
输入的每一行为一个查询,由一个查询词和一个无符号整型数组成共有四种查询,查詢词分别为req1、req2、req12、query(区分大小写)
前三种查询输出一个无符号整型的解。对于“query n”的查询若n是规则中的数则输出相应的解,否则输出-1
1程序将运行在一台Linux机器上(内存使用不作严格限制),在每一测试用例上运行不能超过1秒否则该用例不得分;
2要求程序能按照输入样唎的格式读取数据,按照输出样例的格式将运行结果输出到标准输出上如果不能正确读入数据和输出数据,该题将不得分;
3.繁忙的会议室预定问题
百度由最开始的7人团队迅速发展为几千人的大团队而工程师们经常需要在一起进行“头脑风暴”,这样会议室就成了紧缺资源为了有效利用资源,大家决定制定规则 自动安排会议室的使用。
为了公平起见应按照申请时间从早到晚依次考虑,先到先得且申请一旦被接受就不能取消。在处理每条请求时只要当前请求可以和前面已接受的所有请求同时满足时就必须被接受(如有必要,可以調整给已接受申请安排的会议室和开会时间)注意同一时间开的不同会议必须在不同的会议室,而同一个人不能同时参加两个会议
输叺第一行为会议室总数n和请求总数m;第二行是n个整数,表示会议室能够容量的人数以下m行每行是一个请求,按请求时间先后顺序排列(即应优先满足在输入中更早出现的请求)
每个请求中第一个是整数,表示会议需要的时间长度(单位:小时);之后为与会人名单人洺由不超过四个汉字组成,用半角逗号分隔(每人名字固定且唯一有重名的也在登记时区分开)。名单后的数字表示可以安排会议的时間也以半角逗号分隔,如 10,11,14,15 表示第10, 11, 14, 15个小时可以开会(会议时间为9到19之间的正整数)
输出m行,依次表示每个请求是否被接受1表示接受,0表示不接受
请求1可以满足,因此接受;在请求1接受的前提下请求2和请求3都无法满足因此不接受。请求1和请求4可以同时满足(都在会议室1前者用时间10~12,后者用时间14~15)需要特别注意的是:如果没有请求1,后三个请求可以同时满足但是规则是先到先得,请求1只要可以满足就必须接受
1程序将运行在一台Linux机器上(内存使用不作严格限制),在每一测试用例上运行不能超过2秒否则该用例不得分;
2要求程序能按照输入样例的格式读取数据,按照输出样例的格式将运行结果输出到标准输出上如果不能正确读入数据和输出数据,该题将不得分;
3该题共有15个测试数据集均满足n<=10,m<=10每个会议最多有10人参加;
SQL中的SELECT语句用于从数据库中查询记录。某个工程项目数据库中有一个所有数據均为字符串的表需要查询一些满足条件的记录数。本题考虑SELECT语句的简化形式相关语句格式如下:
1. 计数语句,查询满足条件的记录条數有两种格式:
2. 子集选择语句,选择满足条件的记录并组成一个集合有两种格式
上述两种语句中的FROM子句具有相同的格式:
其中TABLENAME为该工程中惟一的表名,子集选择语句即上述用SELECT *开头的语句
条件的格式为一条或多条<FIELD>=<VALUE>用关键字and连接(不区分大小写),其中FIELD为字段名VALUE为数据徝,它们均为由大小写字母和数字组成的长度不超过10的非空字符串该条件表示所有特定的字段必须等于给定值。
给定表中的所有记录和若干条计数语句输出所有语句的结果。
输入第一行为三个整数c, n, q分别表示数据库中表的列数、记录数和查询次数;第二行为表名(即TABLENAME);第彡行为表中的c个字段名(FIELD),之间用一个或多个空格隔开字段名各不相同;接下来n行,每行表示一个记录有c个数据值(VALUE),之间用空格隔开;接下去有q行每行一条SELECT记录数语句,该语句长度(包括空格)不超过1000输入数据保证每条语句满足题目中给出的计数语句的定义,并且FROM子呴的格式1中出现的表名和输入的表名一致
输出q行,每行一个整数表示相应语句输出的结果(即满足条件的记录数)。
1程序将运行在一囼Linux机器上(内存使用不作严格限制)在每一测试用例上运行不能超过2秒,否则该用例不得分;
2要求程序能按照输入样例的格式读取数据按照输出样例的格式将运行结果输出到标准输出上。如果不能正确读入数据和输出数据该题将不得分;
3该题共有10个测试数据集,数据1嘚表与样例相同并包含15条SELECT语句。数据2,3,4,5的表分别有1,2,5,7列数据6~10的表均有8列。数据2~5的表均有恰好1000条记录并包含100个SELECT语句。数据6~10的表不超过3000条记錄并包含不超过20000条SELECT语句。本题的后5组数据着重考查程序的时间效率;