Skip to content

マラソンマッチの練習問題のような何かです.

License

Notifications You must be signed in to change notification settings

ksomemo/Typical-MM

 
 

Repository files navigation

Typical-MM

はじめに

TopCoder の Marathon Match に最近ハマっています.皆んなやろう.練習問題のようなものを作ってみました.マラソン形式のコンテストに興味があるけど,何から始めたら良いか分からない方のお役に立てれば幸いです.「最適化」だったり「NP困難」で検索してヒットする有名な問題を Marathon Match 風テスタにしているだけです,理論的な事は全く分かりません.何か間違っていれば指摘していただけるとありがたいです.また,ゲーム AI の様な問題も特に案が無いためここにはありません.

テスタは Marathon Match 風にしています.使い方は本家と同じなので診断人さん - @nico_shindanninのブログが参考になります.ついでにアカウントを作ってコンテストに出てみましょう.

利用方法

入手

git clone --depth 1 https://github.com/kosakkun/Typical-MM.git

環境

macOS,Linux(Ubuntu) で JRE,JDK,ソルバ用の開発・実行環境があれば動くことを確認しています.これ以外の OS は分からないのですみません.テスタは一応コンパイルしたものを問題毎に用意しましたが,古い Java の環境だと多分動かないので皆さんの環境でコンパイルし直してください.

ファイル構成

各問題は以下の様なファイル構成になっています.tester の下にはテスタ本体の Tester.java と,私の手元の環境でコンパイルして jar にした Tester.jar があります.実行出来ない場合はmake clean && makeでコンパイルできるのでそれでもう一度実行できるか確認してください.それでもダメなら連絡してください.sample の下には,C++,Java,Python のサンプルプログラムがあります.C++,Javaはmake && make run,Pythonはsh run.shで実行出来ます.これも私の手元では動くことを確認していますが,無理ならすみません.

.
├── README.md
├── image
│   ├── 1.png
│   └── ...
├── tester
│   ├── Makefile
│   ├── Tester.jar
│   ├── Tester.java
│   └── tester.mf
└── sample
    ├── cpp
    │   ├── Makefile
    │   └── TravelingSalesman.cpp
    ├── java
    │   ├── Makefile
    │   └── TravelingSalesman.java
    └── python
        ├── TravelingSalesman.py
        └── run.sh
  

問題

巡回セールスマン問題です.有名です.

配送計画を考える問題です.巡回セールスマン問題と少し似ています.

長方形を良い感じで詰め込む問題です.

グラフの彩色問題です.

クラスタリングです.

15-Puzzle(スライドパズル)のN×Mバージョン.

シュタイナー木のカクカクしたタイプのやつです.

円で点をカバーする問題です.

コンテストのリンク

TopCoder

一部過去問は Practice Contests から提出が可能です.その他の問題もテスタや問題文は今でも読めるのでトライしてみてください.

AtCoder

まだマラソン形式のコンテストはレートが付いていませんが,@chokudai さんが気まぐれで開催したり,企業コンが行われたり最近増えてきています.AtCoder Problems から探せますが,一応下に列挙しておきます.

About

マラソンマッチの練習問題のような何かです.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 78.7%
  • Makefile 14.5%
  • C++ 3.3%
  • Python 2.2%
  • Shell 1.3%