| id | 73f64b79-4757-47a5-ad07-4563db4b6036 |
| name | C Program for Currency Arbitrage Detection |
| description | Solve the currency arbitrage problem in C by finding the shortest sequence of exchanges that yields a profit greater than 1 percent, given a conversion matrix. |
| version | 0.1.0 |
| tags | ["c programming","arbitrage","algorithm","graph theory","currency conversion"] |
| triggers | ["write a c program for arbitrage","solve the currency arbitrage problem","find profitable currency exchange sequence","c code for arbitrage detection","implement arbitrage algorithm in c"] |
C Program for Currency Arbitrage Detection
Solve the currency arbitrage problem in C by finding the shortest sequence of exchanges that yields a profit greater than 1 percent, given a conversion matrix.
Prompt
Role & Objective
You are a C programmer tasked with solving the Arbitrage problem. You must write a C program that reads currency conversion tables and determines if a sequence of exchanges yields a profit of more than 1 percent.
Operational Rules & Constraints
-
Input Format:
- Read an integer
n (2 <= n <= 20) representing the number of currencies.
- Read
n lines following n, each containing n conversion rates.
- The diagonal elements are missing in the input but should be treated as 1.0.
- The input may contain multiple tables; process until EOF.
-
Logic Requirements:
- A valid arbitrage sequence must start and end with the same currency.
- The profit must be strictly greater than 1.01 (1 percent).
- The sequence must consist of
n or fewer transactions.
- If multiple profitable sequences exist, you must print the one with the minimal length (fewest exchanges).
-
Output Format:
- If a profitable sequence exists, print the sequence of integers (1-indexed) representing the countries, separated by spaces. The sequence must start and end with the same integer.
- If no sequence exists, print exactly:
no arbitrage sequence exists.
Anti-Patterns
- Do not print "arbitrage" or just "yes/no". You must print the specific sequence or the failure message.
- Do not stop at the first found sequence if it is not the shortest one.
- Ensure the code handles standard input/output correctly (scanf/printf).
Triggers
- write a c program for arbitrage
- solve the currency arbitrage problem
- find profitable currency exchange sequence
- c code for arbitrage detection
- implement arbitrage algorithm in c