首页 > 试题广场 >

美团商家注册系统

[编程题]美团商家注册系统
  • 热度指数:1360 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
请你开发一个美团商家测试系统,并用等价划分法确认商家注册信息是否成功。
商家信息必须满足以下条件:
1. 系统中第一次注册的商家名字,被视为主店。
2. 系统中若出现重名商家,需要判断地址是否已存在该商家。若存在,则注册失败。否则注册成功,该商家被视为分店。
3. 商家的名字和地址必须由小写的英文字母组成,否则注册失败。
请你输出每个商家的信息,按商家名字的字典序升序输出。需要输出商家名字,商家主店地址,商家分店数量。

输入描述:
第一行输入一个正整数n,代表注册信息数量。
接下来的n行,每行输入两个字符串,用空格隔开。分别代表商家名字和商家地址。
1\leq n \leq 1000
给定的商家名字和商家地址字符串长度不超过 20,且不包含空格。


输出描述:
按商家名字字典序输出全部商家信息。每行输出一个,分别输出商家名字,商家主店地址,商家分店数量,用空格隔开。
示例1

输入

5
ranko mt
ranko op
ranko op
Ranko ok
red ok

输出

ranko mt 1
red ok 0
a = int(input())
c = {}
for i in range(a):
b = input().split()
if any(char.isupper() for char in b[0]):
continue
if b[0] not in c.keys():
c[b[0]] = []
c[b[0]].append(b[1])
elif b[0] in c.keys() and b[1] not in c[b[0]]:
c[b[0]].append(b[1])
c = dict(sorted(c.items()))
for key in c.keys():
count = len(c[key]) - 1
print(key + ' ' + c[key][0] + ' ' + str(count))
a = int(input())
c = {}
for i in range(a):
    b = input().split()
    if any(char.isupper() for char in b[0]):
        continue
    if b[0] not in c.keys():
        c[b[0]] = []
        c[b[0]].append(b[1])
    elif b[0] in c.keys() and b[1] not in c[b[0]]:
        c[b[0]].append(b[1])
c = dict(sorted(c.items()))
for key in c.keys():
    count = len(c[key]) - 1
    print(key + ' ' + c[key][0] + ' ' + str(count))

发表于 2023-11-03 14:56:24 回复(0)
n = int(input())
d = {}
fori in range(n):
    name,address = list(map(str,input().split()))
    ifname.islower() and name.isalpha() and address.islower() and address.isalpha():
        ifname not in d:
            d[name] = [address]
        else:
            ifaddress in d[name]:
                continue
            else:
                d[name].append(address)
    else:
        continue
q = sorted(d)
forname in q:
    print(name,d[name][0],len(d[name])-1)
发表于 2023-08-30 17:52:19 回复(0)