@[cbw19981218](/space/show?uid=79824) 您用Python不超时就怪了
by NaCly_Fish @ 2019-01-20 18:50:32
比我好多了,我是 RE。qwq
by ZY_2007 @ 2019-01-20 19:12:04
@[NaCly_Fish](/space/show?uid=115864) emmm那除了换语言之外无解了吗..有没有包能用在这里的呢
by cbw19981218 @ 2019-01-20 19:20:25
@[cbw19981218](/space/show?uid=79824) 有解的,您可以试一下用数位dp来做
不过换语言最方便
by NaCly_Fish @ 2019-01-20 19:23:26
@[NaCly_Fish](/space/show?uid=115864) 好的 谢谢!
by cbw19981218 @ 2019-01-21 14:47:26
玄学,我WA了2次才发现题读错了,我~~只是想刷AC率~~emmmm
by 俾斯麦 @ 2019-01-27 20:50:05
我也是用python困了一天,以下是我写的算法过了10,解题思路大致是不去循环,直接算出数字,如果输入数据是a,b,那么就算1-a出现的重复数据和1-b出现的重复数据再相减,代码如下:
```python
l = [i for i in input().split()]
data1 = [0 for i in range(10)];
data2 = [0 for i in range(10)];2
a = 0;
def count_num(data, value, flag = True):
valLen = len(value)
tmp = int(value[0:1])
mi = valLen - 2
if flag and tmp != 0 and valLen > 1:
data[0] = data[0] + step_sum_for_0(valLen)
if mi > -1:
sum_list(data, tmp * (valLen - 1) * (10 ** mi))
if tmp != 0:
data[0] = data[0] + tmp * (valLen - 1) * (10 ** mi) - step_sum(mi) + 1
if valLen > 1:
for j in range(1, tmp):
data[j] = data[j] + 10 ** (valLen - 1)
data[tmp] = data[tmp] + 1 + int(value[1:])
count_num(data, value[1:])
else:
for i in range(1, tmp + 1):
data[i] = data[i] + 1
return data
def step_sum_for_0(length):
total = 0
for i in range(1, length):
total = total + 10 ** i
return total
def step_sum(mi):
total = 0
for i in range(mi + 1):
total = total + 10 ** i
return total
def sum_list(data, value):
for i in range(1, len(data)):
data[i] = data[i] + value
def sub_list(data1, data2):
l = []
for i in range(len(data2)):
l.append(data2[i] - data1[i])
return l
data1 = count_num(data1, str(int(l[0])-1), False)
data2 = count_num(data2, l[1], False)
tmplist = sub_list(data1, data2)
s = '';
for i in range(10):
s += str(tmplist[i]) + ' ';
print(s);
```
by ex_panleiming @ 2019-03-13 09:16:50