Atcoderのマラソン型コンテスト北大・日立新概念コンピューティングコンテスト2018に6日目になってやっと参加しました。 現時点(2019-02-19 12:00)でコードを提出した人が100人に満たないようです。
参加の閾値を下がるかと思うので、最低限の点数が取れるPythonのコードをさらします。 品質に関しては灰色コーダーなので察してください。 ご自由にどうぞ。
ソースコード
北大・日立新概念コンピューティングコンテスト2018で正の点数が取りたいを参考にさせていただきました。
def _output(S, L, c, v):
print(S, L)
for i in range(L):
print(len(v[i]), c[i], *v[i])
def _input():
N, K = list(map(int, input().split()))
v = [[] for i in range(K)]
c = [0 for i in range(K)]
for i in range(K):
tmp = list(map(int, input().split()))
c[i] = tmp[1]
v[i] = tmp[2:]
return N, K, c, v
def calc(N, K, c, v):
v_res = []
c_res = []
total_c = 0
for i in range(K):
if len(v[i]) > 0 and len(v[i]) <= 2:
v_res.append(v[i])
c_res.append(c[i])
else:
total_c += max(0, c[i])
v_res.append([])
c_res.append(max(1, total_c))
return N, len(v_res), c_res, v_res
def main():
N, K, c, v = _input()
S, L, c, v = calc(N, K, c, v)
_output(S, L, c, v)
if __name__ == "__main__":
main()
_input()
と_output()
で入出力をしている。
calc()
のところでを作成しています。
参考によると次数がはそのままにして、それ以外はとなるように正の係数と定数の合計を定数として出力しています。
スコアはA,B,Cの合計で4.5E08ぐらいは取れました。
これから
の次数をどうにかしてスコアを伸ばしていきたい。 あと1週間あるのでゆっくり考えていきます。
Python:ファイルダウンロードの進行状況とファイルサイズを表示する方法。urllib
Pythonschedule2024-02-27
【Python】tqdmでforの進捗状況を表示する
PythonColabolatoryschedule2021-02-16
学習済みの日本語単語ベクトルをColabolatoryで試してみる
自然言語処理PythonColabolatoryschedule2021-02-04
Unity ML-Agentsで新しく学習環境を作る
Unity機械学習C#PythonDeepLearningschedule2021-01-22
27. 内部リンクの除去
自然言語処理100本ノックPythonschedule2020-03-17