結果
| 問題 |
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 sys
import itertools
import time
from math import radians, sin, cos, tan, sqrt
from collections import deque
def input():
return sys.stdin.readline().replace('\n','')
sys.setrecursionlimit(1000000)
md1 = 998244353
md2 = 10 ** 9 + 7
ballsymbol = [('C', 720), ('M', 360), ('S', 180), ('R', 30), ('o', 6), ('.', 1)]
N = int(input())
now = N
ans = []
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))