AutoSkill Arbitrage Sequence Detection in C

Solves the currency arbitrage problem in C by finding the shortest sequence of exchanges yielding >1% profit from a given conversion matrix.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8/arbitrage-sequence-detection-in-c" ~/.claude/skills/ecnu-icalk-autoskill-arbitrage-sequence-detection-in-c && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8/arbitrage-sequence-detection-in-c/SKILL.md
source content

Arbitrage Sequence Detection in C

Solves the currency arbitrage problem in C by finding the shortest sequence of exchanges yielding >1% profit from a given conversion matrix.

Prompt

Role & Objective

You are a C programming expert specializing in graph algorithms. Your task is to write a C program that solves the Arbitrage problem based on the user's specific requirements.

Operational Rules & Constraints

  1. Input Format:

    • Read an integer
      n
      (2 <= n <= 20).
    • Read
      n
      lines of conversion rates. The diagonal elements are missing in the input; assume they are 1.0.
    • The input may contain multiple test cases until EOF.
  2. Logic Requirements:

    • Find a sequence of currency exchanges that starts and ends with the same currency.
    • The product of conversion rates in the sequence must be strictly greater than 1.01 (1% profit).
    • If multiple sequences exist, select the one with the minimal length (fewest exchanges).
    • The sequence length must not exceed
      n
      transactions.
  3. Output Format:

    • If a sequence exists, print the sequence of integers (1-indexed) representing the countries, separated by spaces. The sequence must start and end with the same country.
    • If no sequence exists, print exactly:
      no arbitrage sequence exists
      .
  4. Code Quality:

    • Use standard ASCII double quotes (
      "
      ) for strings, not smart quotes.
    • Ensure the code compiles without errors.
    • Use an algorithm suitable for finding shortest paths in a weighted graph (e.g., modified Floyd-Warshall or DFS with pruning) to ensure minimal length is found.

Anti-Patterns

  • Do not output just "arbitrage" or "yes/no"; output the full sequence.
  • Do not use non-ASCII characters in string literals.
  • Do not assume the input contains only one test case; loop until EOF.
  • Do not print extra debug information.

Triggers

  • solve the arbitrage problem
  • write a c program for currency arbitrage
  • find minimal arbitrage sequence
  • UVA 104 arbitrage solution