화 웨 이 2020 학교 모집 - 소프트웨어 문제

4804 단어 문제 집
모두 3 개의 프로 그래 밍 문 제 는 전체적인 난이도 가 높 지 않 고 비교적 어 려 운 알고리즘 이 나타 나 지 않 았 으 나 문자 와 논리 적 이해 가 상대 적 으로 중요 할 수 있 습 니 다.
첫 번 째 문제 (난이도 가 높 지 않 음 AC)
       ,            
  :
A={1,3,5},B={2,4,6},R=1
  :
(1,2)(3,4)(5,6)
def Toint(list):
    for i in range(len(list)):
        list[i]=int(list[i])

a = input().split('=')
A = a[1].split('}')[0][1:].split(',')
Toint(A)
B = a[2].split('}')[0][1:].split(',')
Toint(B)
R = int(a[-1])

for i in A:
    num=0
    for j in B:
        if i>j:
            continue
        else:
            if j-i<=R:
                num+=1
                print('(%d,%d)'%(i,j),end='')
            else:
                break
    if num==0:
        for j in B:
            if i<=j:
                print('(%d,%d)' % (i, j),end='')
                break

두 번 째 문제 (난이도 가 높 지 않 은 AC)
        ,                 
  :
I am an 20-years  out--standing @@ * -stu- dent
  :
dent stu standing out 20-years an am I
def _test(word):
    key = word.split('-')
    res = []
    if len(key)==1:
        return key
    else:
        # print('>',key)
        i = 0
        while True:
            if i>=len(key)-1:
                break
            if key[i]!='' and key[i+1]!='':
                #       -    
                res.append(key[i]+'-'+key[i+1])
                i+=2
            elif key[i]!='':
                res.append(key[i])
            i+=1
        if i==len(key)-1:
            if key[i]!='':
                res.append(key[i])
    # print(res)
    return res

def test2(string):
    a = []
    start = 0
    key = True

    for i in range(len(string)):
        if (string[i]>='a' and string[i]<='z') \
                or (string[i]>='A' and string[i]<='Z') \
                or string[i]=='-' \
                or (string[i]>='0' and string[i]<='9'):
            key = True
            continue
        else:
            if key:
                a.append(string[start:i])
                key = False
            start = i + 1
    if key:
        a.append(string[start:])
    return a

# print('a'>='a' and 'a'<='z')

a = input().split(' ')
# print(a)
res = []
for i in a:
    st = _test(i)
    res.append(st)
# print(res)

res1 = []
for i in res:
    for string in i:
        res1.extend(test2(string))

# print(res1)
res1.reverse()
# print(res1)
result = ''
for i in res1:
    if i !='':
        result= result+' '+i
print(result[1:])

세 번 째 문제 (80% 는 주도면밀 하 게 고려 하지 않 았 다)
         ,            ,           ,        
      
    pace1               (  ,  ):   ->    
    pace2      :(  ,  )->       
    pace3              (  ,  ):   ->        
               
  :
3
CZ7132,A1,ZHANGSAN
CZ7132,A2,ZHAOSI
CZ7156,A2,WANGWU
2
CZ7132,A1,CZ7156,A2
CZ7156,A2,CZ7156,A3
  :
CZ7132,A2,ZHAOSI
CZ7156,A2,ZHANGSAN
CZ7156,A3,WANGWU
#          
def space(dic):
    dict_space = {}
    for i in dic.items():
        # print(i)
        for j in i[1]:
            dict_space[j]=i[0]
    return dict_space

#                      
def space_name(dic):
    dict_space = {}
    for i in dic.items():
        # print(i)
        if i[1] not in dict_space:
            dict_space[i[1]]=[i[0]]
        else:
            dict_space[i[1]].append(i[0])

    return dict_space


N = int(input())
pace1 = {}

for i in range(N):
    a = input().split(',')
    pace1[(a[0],a[1])]=a[2]

pace2 = space_name(pace1)
new_pace ={}
# print(pace2)
M = int(input())
for i in range(M):
    a = input().split(',')
    # print(a)
    name = pace1[(a[0],a[1])]
    # print(name)
    key = [i[0] for i in pace2[name]]

    try:
        inde = pace2[name].index((a[0],a[1]))
        pace2[name][inde] = (a[2], a[3])
        new_pace[(a[2],a[3])]=name
    except:
        pace2[name].append((a[2], a[3]))

for name in pace2.keys():
    key = pace2[name].copy()
    se = {}
    for i in key:
        se[i[0]]=i
    new = []
    for i in se.keys():
        new.append(se[i])
    pace2[name]=new

# print(pace2)

pace3 = space(pace2)
# print('3',pace3)

pace4 ={}
for i in pace3.keys():
    hang = i[0]
    num = i[1]


    if hang not in pace4.keys():
        pace4[hang]=[num]
    else:
        pace4[hang].append(num)
# print(pace4)
hang_sort = list(pace4.keys())
hang_sort.sort()
# print(hang_sort)
for i in hang_sort:
    nums = pace4[i]
    nums.sort()
    # print(nums)
    for j in nums:
        print('%s,%s,%s'%(i,j,pace3[(i,j)]))

좋은 웹페이지 즐겨찾기