Gemini-powered algorithm problem solver agent.
ไฝฟ็จ Gemini AI ่ชๅจ่งฃๅณ Codeforces ็ญ OJ ๅนณๅฐ็็ฎๆณ็ซ่ต้ข็ฎ๏ผๆฏๆ่ชๅจๅฏนๆ้ช่ฏๅ Python ่ฝฌ C++ ็ฟป่ฏใ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AICodeforcer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Standard โ โ Interactive โ โ Communication โ โ Heavy โ โ
โ โ Mode โ โ Mode โ โ Mode โ โ Mode โ โ
โ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโ โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ Solver โ โ Preprocessorโ โ Preprocessor โ โ
โ โ Agent โ โ Agent โ โ Agent โ โ
โ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ โ
โ โ โ โ โ
โ โ โผ โผ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ โ Solver โ โ Solver โ โ
โ โ โ Agent โ โ Agent โ โ
โ โ โโโโโโโโฌโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ BruteForce โ โ Stress โ โ Stress โ โ
โ โ Generator โ โ Test โ โ Test โ โ
โ โ (3-way) โ โ โ โ โ โ
โ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ Stress โ โ C++ โ โ C++ โ โ
โ โ Test โ โ Translator โ โ Translator โ โ
โ โโโโโโโโฌโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโ โ
โ โ C++ โ โ
โ โ Translator โ โ
โ โโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Shared Components โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Executor โ โ API Logger โ โ Types โ โ Tools โ โ
โ โ (Sandbox) โ โ โ โ โ โ โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
-
ๆ ๅ็ฎๆณ้ขๆจกๅผ
- ่ชๅจๅๆ็ฎๆณ้ข็ฎๅนถ็ๆ่งฃๆณ
- ไธ่ทฏๅ ฑ่ฏๆดๅ็ๆ๏ผ3 ไธช็ฌ็ซ Agent ๅฟ ้กปไธ่ด๏ผ
- ่ชๅจๅฏนๆ้ช่ฏ๏ผ้ป่ฎค 1000 ็ป้ๆบๆต่ฏ๏ผ
- ๅคฑ่ดฅ่ชๅจ้่ฏๆบๅถ
-
ไบคไบ้ขๆจกๅผ
- ่ชๅจ็ๆ่ฏๆตๆบ๏ผJudge๏ผๅๆฐๆฎ็ๆๅจ
- AI ้ช่ฏ่ฏๆตๆบๆญฃ็กฎๆง
- ไบคไบๅผๅฏนๆ้ช่ฏ๏ผ้ป่ฎค 100 ็ปๆต่ฏ๏ผ
-
้่ฎฏ้ขๆจกๅผ
- ๆฏๆ Alice/Bob ไธค้ถๆฎต้่ฎฏ้ฎ้ข
- ่ชๅจ็ๆไธญ้ดไปถ๏ผMiddleware๏ผๅ้ช่ฏๅจ
- ไธค้ถๆฎตไธฒ่กๆง่กๅฏนๆ้ช่ฏ๏ผ้ป่ฎค 100 ็ปๆต่ฏ๏ผ
-
Heavyๆจกๅผ๏ผๅคAgentๆข็ดข๏ผ
- ๅคไธชAgentๅนถ่กๆข็ดขไธๅ่งฃๆณ
- ๆตๆฐด็บฟๅนถ่ก๏ผAgent N ้ฆๆฌก stress_test ๆถ่งฆๅ Agent N+1
- LLMๆ่ทฏๅป้ๆฃๆต๏ผ้ฒๆญข้ๅค็ฎๆณ
- ่ชๅจ็ฆๆญขๅทฒๆข็ดข็ๆ่ทฏ๏ผๅผบๅถๅทฎๅผๅ
- ๆฏๆ้ ็ฝฎ้ๅไธ้๏ผAPPROACH_REWRITE_LIMIT๏ผ
-
้็จๅ่ฝ
- ไฝฟ็จๆฒ็ฎฑ็ฏๅขๆง่กไปฃ็ ๆต่ฏ
- Python ไปฃ็ ่ชๅจ็ฟป่ฏไธบ็ซ่ต้ฃๆ ผ C++
- ๆฏๆไบคไบๅผๅ้ฆไผๅ๏ผTLE/WA/MLE/RE๏ผ
- ๅฎๆด API ่ฏทๆฑ/ๅๅบๆฅๅฟ่ฎฐๅฝ
# ๅ
้้กน็ฎ
git clone https://github.com/yourname/AICodeforcer.git
cd AICodeforcer
# ไฝฟ็จ uv ๅฎ่ฃ
ไพ่ต
uv sync
# ๆไฝฟ็จ pip
pip install -e .ๅๅปบ .env ๆไปถๅนถ้
็ฝฎ๏ผ
# Gemini API ้
็ฝฎ๏ผๅฟ
้๏ผ
GEMINI_API_KEY=your_api_key_here
# ๅฏ้้
็ฝฎ
GEMINI_MODEL=gemini-2.5-flash # ๆจกๅๅ็งฐ
GEMINI_BASE_URL=https://your-proxy.com # ่ชๅฎไน API ๅฐๅ
GEMINI_MAX_OUTPUT_TOKENS=65536 # ๆๅคง่พๅบ token ๆฐ
# API ่ฏทๆฑ้่ฏๆฌกๆฐ
API_REQUEST_MAX_RETRIES=30 # API ่ฏทๆฑๅคฑ่ดฅ้่ฏๆฌกๆฐ
# ๅฏนๆๆต่ฏๆฌกๆฐ
STRESS_TEST_NUM=1000 # ๆ ๅๆจกๅผๅฏนๆๆฌกๆฐ
INTERACTIVE_STRESS_TEST_NUM=100 # ไบคไบๆจกๅผๅฏนๆๆฌกๆฐ
COMMUNICATION_STRESS_TEST_NUM=100 # ้่ฎฏ้ขๆจกๅผๅฏนๆๆฌกๆฐ
# ้่ฏ้
็ฝฎ
BRUTE_FORCE_CONSENSUS_RETRIES=3 # ไธ่ทฏๅ
ฑ่ฏๅคฑ่ดฅ้่ฏๆฌกๆฐ
# Heavyๆจกๅผ้
็ฝฎ
APPROACH_REWRITE_LIMIT=2 # ๆ่ทฏ้ๅไธ้๏ผๅป้ๆฃๆต๏ผ| ้ ็ฝฎ้กน | ้ป่ฎคๅผ | ่ฏดๆ |
|---|---|---|
GEMINI_API_KEY |
- | ๅฟ ้ Gemini API ๅฏ้ฅ |
GEMINI_MODEL |
gemini-2.5-flash |
ไฝฟ็จ็ๆจกๅๅ็งฐ |
GEMINI_BASE_URL |
- | ่ชๅฎไน API ๅฐๅ๏ผไปฃ็๏ผ |
GEMINI_MAX_OUTPUT_TOKENS |
65536 |
ๅๆฌก่ฏทๆฑๆๅคง่พๅบ token |
API_REQUEST_MAX_RETRIES |
30 |
API ่ฏทๆฑๅคฑ่ดฅ้่ฏๆฌกๆฐ |
STRESS_TEST_NUM |
1000 |
ๆ ๅๆจกๅผๅฏนๆๆต่ฏๆฌกๆฐ |
INTERACTIVE_STRESS_TEST_NUM |
100 |
ไบคไบๆจกๅผๅฏนๆๆต่ฏๆฌกๆฐ |
COMMUNICATION_STRESS_TEST_NUM |
100 |
้่ฎฏ้ขๆจกๅผๅฏนๆๆต่ฏๆฌกๆฐ |
BRUTE_FORCE_CONSENSUS_RETRIES |
3 |
ไธ่ทฏๅ ฑ่ฏๅคฑ่ดฅ้่ฏๆฌกๆฐ |
APPROACH_REWRITE_LIMIT |
2 |
Heavyๆจกๅผๆ่ทฏ้ๅไธ้ |
# ่ฟ่ก
aicodeforcer
# ๆ
python -m AICodeforcer.main่ฟ่กๅ้ๆฉๆจกๅผ๏ผ
- ๆ ๅ็ฎๆณ้ข - ๅฏนๆ้ช่ฏๆจกๅผ
- ไบคไบ้ข - ไบคไบๅผ่ฏๆตๆจกๅผ
- ้่ฎฏ้ข - Alice/Bob ไธค้ถๆฎตๆจกๅผ
- Heavyๆจกๅผ - ๅคAgentๆข็ดขไธๅ่งฃๆณ
็ถๅ๏ผ
- ็ฒ่ดดๅฎๆด็้ข็ฎๅ ๅฎน
- ่พๅ
ฅ
END็ปๆ่พๅ ฅ - ็ญๅพ AI ๅๆใ็ผๅไปฃ็ ใๅฏนๆ้ช่ฏ
- ่ทๅพ Python + C++ ๅไปฝไปฃ็
- ๆไบคๅ่พๅ
ฅๅ้ฆ๏ผๅฆ
TLE on test 5๏ผ็ปง็ปญไผๅ - ่พๅ
ฅ
ACๆquit็ปๆ
src/AICodeforcer/
โโโ main.py # CLI ๅ
ฅๅฃ
โโโ types.py # ็ฑปๅๅฎไน
โโโ api_logger.py # API ๆฅๅฟ่ฎฐๅฝๅจ
โโโ standard/ # ๆ ๅ็ฎๆณ้ขๆจกๅ
โ โโโ agents/
โ โ โโโ solver.py # ็ฎๆณๆฑ่งฃ Agent
โ โ โโโ brute_force.py # ไธ่ทฏๅ
ฑ่ฏๆดๅ็ๆ
โ โ โโโ cpp_translator.py
โ โโโ tools/
โ โโโ executor.py # ๆฒ็ฎฑไปฃ็ ๆง่กๅจ
โ โโโ run_python.py # ไปฃ็ ๆง่กๅทฅๅ
ท
โ โโโ stress_test.py # ๅฏนๆ้ช่ฏๅทฅๅ
ท
โโโ standard_heavy/ # Heavyๆจกๅผๆจกๅ
โ โโโ agents/
โ โโโ solver.py # Heavyๆฑ่งฃAgent
โ โโโ heavy_solver.py # ๅคAgentๅ่ฐๅจ
โ โโโ approach_checker.py # ๆ่ทฏๅป้ๆฃๆต
โโโ interactive/ # ไบคไบ้ขๆจกๅ
โโโ agents/
โ โโโ solver.py # ไบคไบ้ขๆฑ่งฃ Agent
โ โโโ preprocessor.py # ่ฏๆตๆบ็ๆๅจ
โ โโโ judge_validator.py
โโโ tools/
โโโ interaction_runner.py # IPC ้ไฟก็ฎก็
โโโ interactive_stress_test.py
โโโ communication/ # ้่ฎฏ้ขๆจกๅ
โโโ agents/
โ โโโ solver.py # ้่ฎฏ้ขๆฑ่งฃ Agent
โ โโโ preprocessor.py # ไธญ้ดไปถ/้ช่ฏๅจ็ๆ
โโโ tools/
โโโ communication_runner.py # ไธค้ถๆฎตๆง่กๅจ
โโโ stress_test.py # ้่ฎฏ้ขๅฏนๆ
ๆฏๆฌก่ฟ่กไผๅจ logs/ ไธๅๅปบๆถ้ดๆณๆไปถๅคน๏ผ
logs/20251224_165001/
โโโ solve.log # ๆฎ้ๆฅๅฟ
โโโ solve_full.log # ๅฎๆด API ๆฅๅฟ
โโโ brute_force_full.log # ๆดๅ็ๆๆฅๅฟ
โโโ brute_force_agent*_full.log
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Standard Algorithm Solver โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. Problem Analysis (้ขๆๅๆ) โ
โ โโ Restate problem in own words โ
โ โโ Identify input/output format โ
โ โโ Build mathematical model โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. Algorithm Design (็ฎๆณ่ฎพ่ฎก) โ
โ โโ Propose 2-3 candidate approaches โ
โ โโ Analyze time/space complexity โ
โ โโ Select optimal approach with proof โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. Code Implementation (ไปฃ็ ๅฎ็ฐ) โ
โ โโ Write Python solution โ
โ โโ Use run_python_code tool to test โ
โ โโ Verify with sample cases โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. Brute Force Generation (ๆดๅ็ๆ) - 3-Way Consensus โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โ โ
โ โ โ Agent 1 โ โ Agent 2 โ โ Agent 3 โ (Parallel) โ โ
โ โ โโโโโโฌโโโโโ โโโโโโฌโโโโโ โโโโโโฌโโโโโ โ โ
โ โ โ โ โ โ โ
โ โ โผ โผ โผ โ โ
โ โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โ โ
โ โ โ Code 1 โ โ Code 2 โ โ Code 3 โ โ โ
โ โ โโโโโโฌโโโโโ โโโโโโฌโโโโโ โโโโโโฌโโโโโ โ โ
โ โ โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโ โ โ
โ โ โผ โ โ
โ โ โโโโโโโโโโโโโโโโ โ โ
โ โ โ Consensus? โ โ โ
โ โ โ (All Same?) โ โ โ
โ โ โโโโโโโโฌโโโโโโโโ โ โ
โ โ โ โ โ
โ โ โโโโโโโโโโโโโดโโโโโโโโโโโโ โ โ
โ โ โผ โผ โ โ
โ โ [Yes: Pass] [No: Retry] โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 5. Stress Test (ๅฏนๆ้ช่ฏ) - Default 1000 tests โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ for i in range(1000): โ โ
โ โ test_data = brute_force.generate_random_input() โ โ
โ โ expected = brute_force.solve(test_data) โ โ
โ โ actual = optimized.solve(test_data) โ โ
โ โ if expected != actual: โ โ
โ โ return FAILED with counterexample โ โ
โ โ return PASSED โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโดโโโโโโโโโโ
โผ โผ
[PASSED] [FAILED]
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 6. C++ Translation โ โ Analyze counterexample โ
โ Python โ C++ โ โ Fix and retry โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 7. Feedback Loop (ๅ้ฆไผๅ) โ
โ User submits to OJ โ Gets feedback (TLE/WA/MLE/RE) โ
โ โ AI analyzes and optimizes โ Repeat until AC โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Interactive Problem Solver โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 1: Preprocessing (้ขๅค็้ถๆฎต) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ InteractivePreprocessor Agent โ โ
โ โ โโ Analyze interaction protocol โ โ
โ โ โโ Generate Judge (่ฏๆตๆบ) โ โ
โ โ โ โโ Reads test data from file โ โ
โ โ โ โโ Interacts via stdin/stdout โ โ
โ โ โ โโ Returns: 0=AC, 1=WA, 2=PE โ โ
โ โ โโ Generate Data Generator (ๆฐๆฎ็ๆๅจ) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 2: Judge Validation (่ฏๆตๆบ้ช่ฏ) โ
โ JudgeValidator Agent verifies judge correctness โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 3: Solution Development (่งฃๆณๅผๅ) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ InteractiveSolver Agent โ โ
โ โ โโ Analyze query strategy (Binary Search / Divide & Conquer) โ โ
โ โ โโ Estimate query count upper bound โ โ
โ โ โโ Write interactive solution with flush=True โ โ
โ โ โโ Handle -1 error responses โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 4: Interactive Stress Test (ไบคไบๅฏนๆ) - Default 100 tests โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ for i in range(100): โ โ
โ โ test_data = generator.generate() โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ
โ โ โ Judge โ โโโโโโโบ โ Solver โ (IPC Communication) โ โ
โ โ โ (stdin) โ โ (stdout) โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ
โ โ if judge.exit_code != 0: return FAILED โ โ
โ โ return PASSED โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 5: C++ Translation + Feedback Loop โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Communication Problem Solver โ
โ (Alice & Bob Protocol) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 1: Preprocessing (้ขๅค็้ถๆฎต) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ CommunicationPreprocessor Agent generates: โ โ
โ โ โโ Data Generator (ๆฐๆฎ็ๆๅจ) โ โ
โ โ โโ Middleware (ไธญ้ดไปถ) - transforms Alice output โ Bob input โ โ
โ โ โโ Verifier (้ช่ฏๅจ) - checks final answer correctness โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 2: Solution Development (่งฃๆณๅผๅ) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ CommunicationSolver Agent writes single file handling both phases โ โ
โ โ โ โ
โ โ def main(): โ โ
โ โ phase = input() # "first" or "second" โ โ
โ โ if phase == "first": โ โ
โ โ solve_alice() # Process original input โ โ
โ โ else: โ โ
โ โ solve_bob() # Process transformed input โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 3: Two-Phase Execution (ไธค้ถๆฎตๆง่ก) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ
โ โ โ Original โโโโโบโ Solver โโโโโบโ Alice โ โ โ
โ โ โ Input โ โ (Alice) โ โ Output โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโฌโโโโโโโ โ โ
โ โ โ โ โ
โ โ โผ โ โ
โ โ โโโโโโโโโโโโโโโ โ โ
โ โ โ Middleware โ โ โ
โ โ โ (Transform) โ โ โ
โ โ โโโโโโโโฌโโโโโโโ โ โ
โ โ โ โ โ
โ โ โผ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ
โ โ โ Final โโโโโโ Solver โโโโโโ Bob โ โ โ
โ โ โ Answer โ โ (Bob) โ โ Input โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ
โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 4: Communication Stress Test (้่ฎฏๅฏนๆ) - Default 100 tests โ
โ Verifier checks: Final Answer == Expected Answer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Phase 5: C++ Translation + Feedback Loop โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Python >= 3.10
- google-genai >= 1.0.0
- pydantic >= 2.0
- python-dotenv >= 1.2.1
The sword forged for the training hall shall not be drawn where honor hangs in the balance.
This project exists as a crucible for learning โ to witness the elegant dance of algorithms, to comprehend the silent poetry woven into logic. It is a mirror, not a mask; a teacher, not a surrogate.
To wield it in competition is to claim a crown of smoke, for victory without struggle is but the shadow of triumph. The laurels earned through borrowed wisdom shall wither before they are worn.
Let your mind be the true solver. Let this tool be merely the whetstone upon which you sharpen your own blade.
ไน ๆญฆไนๅ๏ผไธๅฏๆงไบ่ฎบ้ไนๅ ๏ผ็ปๅ ตไนๅจ๏ผไธๅฏๆไบไบ้ไนๅบใ
ๆญค้กน็ฎไธบๅญฆไน ่็โโ่ฎฉไฝ ๅพไปฅ็ชฅ่ง็ฎๆณ็ๆผๅฆไน่๏ผ้ขๆ้ป่พๆทฑๅค็ๆ ๅฃฐ่ฏ็ฏใๅฎๆฏไธ้ข้ๅญ๏ผ่้ไธๅผ ้ขๅ ท๏ผๆฏไธไฝๅฏผๅธ๏ผ่้ๆฟ่บซใ
่ฅไปฅๆญคๅจ็ซไบ่ตๅบ๏ผๆๆไธ่ฟๆฏ็ไบ็ผ็ป็ๆกๅ ใไธ็ป็ฃจ็ บ็่ๅฉ๏ผไธ่ฟๆฏ่ฃ่็ๅๅฝฑใๅๆฅ็ๆบๆ งๆ้ธ็ๅ็ซ ๏ผๆชๅไฝฉๆดไพฟๅทฒ้ปฏ็ถๅคฑ่ฒใ
ๆฟๅไปฅๅฟไธบๅ๏ผไปฅๆญคไธบ็ บ็ณ๏ผ็ฃจ็ บๅฑไบ่ชๅทฑ็้่ใ
ๅจ่ ๏ผ็ฟ่ไน่ณไน๏ผ้็ญๅไนๅ ทไนใ
ๆญคๅจไน้ ๏ผ็บๆ็ฎ็ใ็ชฎ้่ผฏไนๅฅงไนใ่ฅๆไปฅ่ตด่ฉฆ๏ผ็ซไบบไนๅ็บๅทฑๆ๏ผๆฏๆฌบไธ็ๅไน่ก๏ผๅๅญๆไธ้ฝไนใ
ๅคไบบไบ๏ผใๅญธๅฆ้ๆฐด่ก่๏ผไธ้ฒๅ้ใใๅไบ๏ผใๅๅญๅๆฌ๏ผๆฌ็ซ่้็ใใ
ๅคซไปฅๆขฐไปฃๅฟ๏ผ็ถ้ฃฒ้ดๆญขๆธด๏ผ้่งฃไธๆไนๅฐ๏ผ็ต่ฒฝ็ก็ชฎไนๆฃใๆๅพ่ ๏ผ่ๅไน๏ผๆๅคฑ่ ๏ผ็ๅญธไนใๅๅฏๆฌบไบบ๏ผๅญธไธๅฏๆฌบๅทฑใ
้ก่ซธๅไปฅ่ช ็บๆฌ๏ผไปฅๅญธ็บๅ ใๅจๅฏๅฉๅญธ๏ผไธๅฏไปฃๅญธ๏ผๆๅฏๅ้๏ผไธๅฏ็ซๅใๆ ไนๆไนใ
MIT