筑波大学プログラミングコンテスト2024
コンテスト日時
2024/11/17 (Su) 12:00 - 16:00
筑波大学プログラミングコンテスト2024
ペナルティ:5 分

このコンテストは筑波大学にてオンサイトで実施します。オンライン参加も可能です。
オンサイトイベントの詳細・参加申し込みはこちら (connpass)

チーム参加について

3 人以下でチーム参加が可能です。レーティング制限はありません。
会場で運営が許可したチームに限り、4 人チームが認められています。

なお、1人で参加される場合は、1人チームは作成せず、「個人参加」を選択いただきますようお願いします。

原則として、オンラインとオンサイトの方が混合したチームでの参加はできません(やむを得ない理由でオンサイト参加をキャンセルした場合等は除きます)。

問題の難易度や並び順について

問題は満点解法の想定難易度順に並んでいます。

難易度表示は、正の得点(満点とは限らない)の得やすさで設定されています。(易 Milk < Assam < Benihuki < Ceylon < Darjeeling < Earlgray < Flavor < ผักชี 難)
後半の問題でも易しい部分点が設定されていることがあるので、すべての問題を見ることを強く推奨します。

ルール

  • 同時の計算機の利用やコーディング、インターネットの参照(AI を除く)、既存ライブラリの利用は制限されていません。
  • ChatGPT や Gemini などの生成系 AI をはじめ、AI によるサポートを使用できるのは以下の場合に限られます。AI を用いて、問題文を説明・要約すること、解答プログラムをほかの言語に変換すること解答プログラムのソースコード、およびデバッガに表示された値、出力結果、エラー(コンパイルエラーを含む)等の解答プログラムから生成されるすべてのリソースに対して説明や問題点のフィードバックを受けること、生成系 AI に問題(部分問題を含む)を解かせることなどは禁止されていますのでご注意ください。
    • 翻訳:問題文等の翻訳には、AI を用いることができます。翻訳後の言語で問題文を要約することなどはできません。
    • コード補完:エディタや統合開発環境の機能、もしくは GitHub Copilot などの AI ベースのコード生成技術により、プログラムの構文についての提案を受けることができます。ただし、コメントや関数名等で問題概要を与えて実装の提案を受けるなど、問題を解くためのアルゴリズムやコード全体に対して適用することは禁止されます。
    • 問題とは関係ないコード生成:AI が問題を解くことにあたらないコードの生成は許可されます。たとえば、テストケースの形式を AI に与えることにより、ランダムケースを作成するプログラムを生成することがあてはまります。
  • AI の使用可否について疑問が生じた場合は、質問ページにて運営までお問い合わせください。
  • AI によって作成されたかどうかにかかわらず、コンテスト開始前に作成されたプログラムや自然言語の文章の利用に制限はありません。
  • ルールによらない方法で AI を使用していることが発覚した場合、順位表から削除するなどの措置が行われます。表彰の対象にもなりません。その他の措置は運営の裁量によります。

出力やエラーを AI に与えてはならないことを明記しました。(11/15 23:10)

部分点について

ジャッジサーバーの負荷軽減のため、制約が小さい部分点のみの正解を目的として提出する場合は、assert, return, exit 等で大きな制約のテストケースに対して重い処理が実行されないようにすることにご協力ください。

(例) 問題の制約が $N \leq 2 \times 10^5$ の問題において、追加の制約が $N \leq 2000$ の部分点を取るために $\Theta(N^2)$ の解法コードを提出する場合

import sys

n = int(input())
if n > 2000:
    sys.exit(1)
// int main()
int n; cin >> n;
if (n > 2000) return 1;

各問題における部分点の表記は、次のようになっています。

  1. ($x$ 点)
    • 追加の制約

問題のもとの制約と追加の制約の両方を満たしたテストケースのみからなるテストケースセットがあり(※)、そのテストケースすべてに正解した場合、部分点 1. に正解したとみなされます。

得点は、提出ごとに独立に計算され、各問題のチームの提出のうち得点が最大のものが、当該問題に対するそのチームの得点となります。
たとえば、部分点 1. ($20$ 点) と部分点 2. ($50$ 点) の片方に正解するコードを別々に提出した場合、得られる得点は $50$ 点です。部分点 1. と 2. に同時に正解するソースコードを提出することができた場合、$70$ 点を得ることができます。

また、そのチームにおける最大の得点を得るまでの、当該問題に対するすべての提出数(CE を除く)がペナルティとして加算されます。

※厳密化のための注釈:追加の制約を満たしたすべてのテストケースが部分点のテストケースセットに含まれていることは保証されません。

その他

一部の言語では ACL などのライブラリも利用できます。(言語ごとのインストール済みライブラリ一覧はこちらを参照してください

表彰について

オンサイト参加者から、以下のチームを表彰します。

  • 優勝:1チーム
  • ???賞:2チーム

※チームの人数によって、チーム数が増減する可能性があります。

配点

問題数、配点、部分点の有無はコンテストまでに変更される場合があります。

問題 得点 部分点有無
A 100 *
B 200
C 300
D 400
E 450 *
F 550 *
G 600 *
H 650 *
I 650 *
J 700 *
K 700 *
L 800 *
M 1000 *
N 1000 *
O 1300 *
P 1300 *