输入数值序列i行(0<i),每一行分别是进制和数值,以“#”分割。如:n#m, n是整数,代表n进制(1<n<17),m是n进制下的数值.
输入序列以结束符”END”结束。
m的字符集为0-9和A-F,保证数值在十进制下不超过1e9,行数不超过100001行。
输出j行(0<j<=i),每一行都是输入序列的“异数”。要求:
1.按照输入序列的原序输出;
2.如果没有”异数”,输出字符串”None”
3.结束符“END”不用输出
10#15 4#32 4#33 8#17 END
4#32
import sys
def num(s):
s = s.split('#')
base,n = int(s[0]),s[1][::-1]
number = 0
for i in range(len(n)):
if n[i].isdigit():
number += (base**(i))*int(n[i])
else:
temp = ord(n[i])-ord('A')+10
number += (base**(i))*temp
return number
def answer(res):
dic = {}
ans = []
for i in range(len(res)):
tem = num(res[i])
ans.append(tem)
if tem in dic:
dic[tem].append(i)
else:
dic[tem] = [i]
found = False
for i in range(len(ans)):
if len(dic[ans[i]])==1:
found = True
print(res[i])
if not found:
print('None')
if __name__=='__main__':
res = []
for line in sys.stdin.readlines():
s = line.strip()
if s=='END':
break
res.append(s)
answer(res)
""""
进制转换和数组计数
"""
import sys
from collections import Counter
if __name__ == "__main__":
# sys.stdin = open("input.txt", "r")
a, b = [], [] # a记录原字符串,b记录十进制的数值
while True:
s = input().strip()
if s == 'END':
break
a.append(s)
for c in a:
n, m = c.split('#')
b.append(int(m, int(n)))
dic = Counter(b)
ans = []
for i in range(len(b)):
if dic[b[i]] == 1:
ans.append(a[i])
if not ans:
print("None")
else:
print('\n'.join(ans))