KEYENCE Programming Contest 2023 Summer(AtCoder Beginner Contest 315)

Can Participate: All Rated Range: - 1999 Penalty: 5 minutes

概要

株式会社キーエンス が主催する、個人戦のオンラインプログラミングコンテストです。

今回は社会人向けの特典を御用意しました。学生のかた向けの特典を用意したコンテストは10月14日(土)10月21日(土)に開催予定です。

このコンテストは rated です。レーティング更新対象は 0 - 1999です。

Key of Science

変化を支え、
進化を加速させる

キーエンスとは

キーエンスはFA(ファクトリー・オートメーション)総合メーカーとして、関連商品の開発・販売をしています。
ものづくりの現場で何が起きているかを正しく把握し、先を見通すことで、お客様もまだ気づいていない課題を解決する新しい価値を持った商品を生み出すことをミッションとしています。

キーエンスはAtCoder参加者が活躍できる職場です

新しい価値を持った商品を生み出すためにエンジニアは国内外の多くのお客様のニーズをベースに新商品をイメージします。そして、そのイメージを実現するために様々な技術を検討し採用しています。 光学技術や回路技術はもちろん、ユーザーインターフェース、画像処理などのアルゴリズム、点群処理技術、AI技術など幅広い技術を用いています。 また、近年は対象となるデータの大型化、高度化が進んでおりAtCoder参加者の方の活躍の場が広がっています。以下では弊社の社員が、実際に工夫したアルゴリズムの例を紹介します。

参加者の皆様ならどのように解きますか?

これはバーコードリーダの開発に関する事例です。バーコードリーダは画像データからバーコードらしい領域を効率よく抽出する必要があります。1枚の画像を複数の正方形ブロックに等分割し、バーコードの存在確率の高いブロックを推定するフィルタアルゴリズムを開発しました。
選択されなかったブロックはスモークをかけて表示しています。 優れたフィルタは、バーコード領域と重なるブロックを余すことなく選びます。(図1)
一方で良くないフィルタは、バーコード領域と全く重ならなかったり(図2)、一部しか重ならなかったりします(図3)。

今回はそのフィルタの開発ではなく、フィルタ性能の評価を行うことを考えます。

フィルタにより抽出されたブロック(スモーク無し)
バーコードの面積を (黄)、
上記2つの重なる領域を
とし、以下の評価式を用います。

問題文

以下、座標は図5に示す画像座標系に従うものとします。 対象とする画像サイズは4000×4000、ブロックサイズは 10x10とします。 列目 行目のブロックには というブロックインデックスが 1 始まりで振られています。 今回、フィルタアルゴリズムにより個のブロックが選ばれました。
画像にはバーコードを表す四角形が1つ存在し、その頂点は反時計回りの順にです。 以下の形式で入力が与えられるので、各問の条件のもと、を求めてください。
ただし、想定解からの絶対誤差が以下のとき、正解と判定されます。

制約




・入力される数値は全て整数      

入力

入力は以下の形式で標準入力から与えられる。






LEVEL 1

ブロック群形状とバーコード形状が
単純な場合

ブロック群形状とバーコード形状が単純な
場合を考えます。選択されたブロック群の
和集合の領域は各辺がx軸、y軸に平行な長
方形になるとします。また、バーコード領
域も各辺がx軸、y軸に平行な長方形としま
す。このとき overlap score を計算して
求めてください。

LEVEL 2

ブロック群形状のみ単純な場合

ブロック群形状のみ単純な場合を考えます。
選択されたブロック群の和集合の領域は各
辺がx軸、y軸に平行な長方形になるとしま
す。しかしバーコード領域は凸四角形で与
えられます。このとき overlap score を
計算して求めてください。

LEVEL 3

ブロック群形状もバーコード形状も
複雑になり得る場合

ブロックは画像内の任意のブロックから選
択されます。(選択されたブロック群は穴
があったり、複数の島に分かれたりします
。)バーコード領域は凸四角形で与えられ
ます。このとき overlap score を計算し
て求めてください。

上記問題をウェビナーにて解説します!

キーエンスでの運用例をウェビナーで説明します。そのほかキーエンスで開発しているAI技術、点群処理などの業務事例を紹介させて頂きます。

開催日時

  • 2023年8月29日(火)19:00-20:00

  • 2023年8月31日(木)19:00-20:00

解説ウェビナーは2日とも同じ内容となります。
参加された社会人の方から抽選で15名様に賞金(Amazon ギフトカード 10,000円分)を進呈します。
解説ウェビナーへ参加ご希望の方は、参加登録の際に必要事項を必ずご記入ください。
※学生のかた向けには「学生奨励賞」「特別賞」(新卒採用一次面接パス権)をご用意したコンテストを10月14日(土)10月21日(土)に開催予定です。


コンテスト情報

参加資格

AtCoderのアカウントをお持ちの方であれば、どなたでもご参加いただけます。

スケジュール

2023-8-19(土)21:00~2023-8-19(土)22:40(100分)

賞金

総合1~5位(全体の順位ではなく、条件を満たした方から構成される順位)の方へ、賞金(Amazon ギフトカード 10,000円分)を進呈します。

賞金に関する注意事項

  • 対象者は1. 1問以上正解していること、2.日本国内に在住していること、3.参加登録情報にすべての項目を記載していること、これらを全て満たしている方を指します。

  • 賞金(ギフトカード)は日本国内に在住の方のみに、Amazonギフトカードにてお送りいたします。

  • 該当順位が複数名いる場合は抽選とさせていただきます。

  • 賞金の対象者が対象外となった場合には、賞金対象者に次ぐ順位以下の方を、順番に繰り上げて贈呈します。

  • 賞金の受け取り方法等については、コンテスト終了後に受賞された方へメールにてご連絡させて頂きます。
    その際、運営事務局が提示させて頂く期限内に必要事項をご返信頂けない場合、お送りできかねますのでご注意ください。

特別賞

社会人の上位者の方へ、キャリア採用において優待します。

ルール

  1. コンテスト中に問題に正解すると点数を獲得できます。
  2. 順位は総合得点で決定します。
  3. 同点の場合は提出時間の早い人が上の順位になります。
  4. 誤答を提出するたびにペナルティが加算されます。このコンテストのペナルティは5分です。詳細は画面下部の「ルール」をご覧ください。

このコンテストは full-feedback 形式のコンテストです。コンテスト中に提出された結果だけで順位が決定します。

配点

問題 点数
A 100
B 200
C 300
D 400
E 425
F 500
G 550
Ex 650

Contest Information

  • Duration: 100 minutes
  • Rated Range: 0 - 1999

Point Values

Task Score
A 100
B 200
C 300
D 400
E 425
F 500
G 550
Ex 650

Contest Rules

This contest is full-feedback (solutions are judged during the contest).
When you solve a problem, you get a score assigned to it. Competitors are ranked first by total scores, then by penalties. The penalties are computed as (the time you spend to get your current score) + (5 minutes) * (the number of incorrect attempts).

Useful Links