제 컴퓨터 환경에서는 문제 없이 동작하여 올렸더니 RTE라는 결과를 받았습니다.
여러가지 변경해보고 테스트해보았지만 어디서 문제가 일어나는지 찾기가 힘드네요.
import sys
rl = lambda:sys.stdin.readline()
C = int(rl())
input = list()
for i in xrange(C):
s = int(rl())
if s < 2 or s > 500000:
print("wrong input")
exit()
input.append(s)
def divisor(x):
return [ i for i in xrange(1, x) if x%i==0]
def weird(x):
l = divisor(x)
sum=0
for i in l:
sum += i
# check(l,x)
if x > sum:
return "not weird"
elif not check(l, x):
return "not weird"
return "weird"
def check(l, x):
s = 2**len(l)
ll = len(l)
for i in xrange(1, s):
b = i2b(i, ll)
cl = list()
for j in xrange(ll):
if int(b[(ll-1)-j]) == 1:
cl.append(l[j])
sum = 0
for j in cl:
sum += j
# print(i,b,sum)
if sum == x:
return False
elif sum > x:
return True
return False
def i2b(i, l):
s=''
while i > 0:
s = str(i&1) + s
i = i>>1
return s.zfill(l)
for i in xrange(C):
#weird(input[i])
print(weird(input[i]))
egaoneko
제 컴퓨터 환경에서는 문제 없이 동작하여 올렸더니 RTE라는 결과를 받았습니다.
여러가지 변경해보고 테스트해보았지만 어디서 문제가 일어나는지 찾기가 힘드네요.
10년 전