せいためんたい


作成日:2022年1月6日午後4:59

インプリメンテーションコード

# 정다면체
import sys
sys.stdin = open("input.txt", "rt")
n, m = map(int, input().split())
dic = {}

for i in range(1, n+1):
    for j in range(1, m+1):
        sum = i+j
        if sum in dic:
            dic[sum] += 1
        else:
            dic[sum] = 1
minF = 0
sumList = []
for sum, f in list(dic.items()):
    if f > minF:
        minF = f
        sumList.clear()
        sumList.append(sum)
    elif f == minF:
        sumList.append(sum)
sumList.sort()
for x in sumList:
    print(x, end=" ")

模範解答

import sys
sys.stdin=open("input.txt", "r")
n, m=map(int, input().split())
cnt=[0]*(n+m+3)
max=0
for i in range(1, n+1):
    for j in range(1, m+1):
        cnt[i+j]=cnt[i+j]+1

for i in range(n+m+1):
    if cnt[i]>max:
        max=cnt[i]
    
for i in range(n+m+1):
    if cnt[i]==max:
        print(i, end=' ')

差異

  • 私が実装したコードにはディックシーケンスが使用され、2つの数の和をキーとして格納し、周波数を値として格納します.
  • の最良の答えは、アレイを使用してアレイのインデックスを2つの数の和で実現し、値は周波数である.