結果
問題 | No.2775 Nuisance Balls |
ユーザー |
|
提出日時 | 2024-06-07 21:36:40 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 49 ms / 2,000 ms |
コード長 | 1,191 bytes |
コンパイル時間 | 201 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 54,016 KB |
最終ジャッジ日時 | 2024-12-26 07:19:22 |
合計ジャッジ時間 | 2,039 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
# ゆーさんはN個のボールを持っている# ボールの個数を記号で表すことを考える# 記号と個数の対応は以下の通り# .: ボール1個分を表す# o: ボール6個分を表す# R: ボール30個分を表す# S: ボール180個分を表す# M: ボール360個分を表す# C: ボール720個分を表す# これらの記号を複数用いて並べた文字列のうち、# 各記号が表すボールの個数の総和がNと一致するものとして文字列の長さが最小になるものを# 記号が表すボールの個数が多い順になるように並べ替えて出力せよ## 1 <= N <= 4320# Nは整数import sysimport itertoolsimport timefrom math import radians, sin, cos, tan, sqrtfrom collections import dequedef input():return sys.stdin.readline().replace('\n','')sys.setrecursionlimit(1000000)md1 = 998244353md2 = 10 ** 9 + 7ballsymbol = [('C', 720), ('M', 360), ('S', 180), ('R', 30), ('o', 6), ('.', 1)]N = int(input())now = Nans = []for i in range(0, 6):for j in range(0, now//ballsymbol[i][1]):ans.append(ballsymbol[i][0])now %= ballsymbol[i][1]print(''.join(ans))