Orig Description
Tax Rate Changed
VAT (value-added tax) is a tax imposed at a certain rate proportional to the sale price.
Our store uses the following rules to calculate the after-tax prices.
When the VAT rate is x%,
for an item with the before-tax price of p yen,
its after-tax price of the item is p (100+x) / 100 yen, fractions rounded off.
The total after-tax price of multiple items paid at once is
the sum of after-tax prices of the items.
The VAT rate is changed quite often.
Our accountant has become aware that
"different pairs of items that had the same total after-tax price
may have different total after-tax prices after VAT rate changes."
For example, when the VAT rate rises from 5% to 8%,
a pair of items that had the total after-tax prices of 105 yen before
can now have after-tax prices either of 107, 108, or 109 yen, as shown in the table below.
Before-tax prices of two itemsAfter-tax price with 5% VATAfter-tax price with 8% VAT
20, 8021 + 84 = 10521 + 86 = 107
2, 992 + 103 = 1052 + 106 = 108
13, 8813 + 92 = 10514 + 95 = 109
Our accountant is examining effects of VAT-rate changes on after-tax prices.
You are asked to write a program that calculates the possible maximum
total after-tax price of two items with the new VAT rate,
knowing their total after-tax price before the VAT rate change.
Input
The input consists of multiple datasets.
Each dataset is in one line,
which consists of three integers x, y, and s separated by a space.
x is the VAT rate in percent before the VAT-rate change,
y is the VAT rate in percent after the VAT-rate change,
and s is the sum of after-tax prices of two items before the VAT-rate change.
For these integers, 0 < x < 100, 0 < y < 100,
10 < s < 1000, and x ≠ y hold.
For before-tax prices of items, all possibilities of 1 yen through s-1 yen should be considered.
The end of the input is specified by three zeros separated by a space.
Output
For each dataset,
output in a line the possible maximum total after-tax price when the VAT rate is changed to y%.
Sample Input
5 8 105
8 5 105
1 2 24
99 98 24
12 13 26
1 22 23
1 13 201
13 16 112
2 24 50
1 82 61
1 84 125
1 99 999
99 1 999
98 99 999
1 99 11
99 1 12
0 0 0
Output for the Sample Input
109
103
24
24
26
27
225
116
62
111
230
1972
508
1004
20
7
Hints
In the following table,
an instance of a before-tax price pair that has the maximum after-tax price after the VAT-rate change
is given for each dataset of the sample input.
DatasetBefore-tax pricesAfter-tax price with y% VAT
5 8 105 13, 88 14 + 95 = 109
8 5 105 12, 87 12 + 91 = 103
1 2 24 1, 23 1 + 23 = 24
99 98 24 1, 12 1 + 23 = 24
12 13 26 1, 23 1 + 25 = 26
1 22 23 1, 22 1 + 26 = 27
1 13 201 1,199 1 +224 = 225
13 16 112 25, 75 29 + 87 = 116
2 24 50 25, 25 31 + 31 = 62
1 82 61 11, 50 20 + 91 = 111
1 84 125 50, 75 92 +138 = 230
1 99 999 92,899183+1789 =1972
99 1 999 1,502 1 +507 = 508
98 99 999 5,500 9 +995 =1004
1 99 11 1, 10 1 + 19 = 20
99 1 12 1, 6 1 + 6 = 7
Extracted Specification
An integer x (0 < x < 100), an integer y (0 < y < 100), and an integer s (10 < s < 1000). The end of the input is specified by three zeros separated by a space.
### Example Input:
```
5 8 105
8 5 105
1 2 24
0 0 0
```
### Function Signature:
Write a function f(inputs) that takes in the input as a list of tuples.
def f(inputs: List[Tuple[int, int, int]]):
'''
inputs: a list of tuples, where each tuple contains three integers (x, y, s)
'''
Test Case Generator
Sure! The following is a test case generator for the given problem statement "Tax Rate Changed":
```python
import random
def tcgen():
# Generate x (VAT rate before change): 0 < x < 100
x = random.randint(1, 99)
# Generate y (VAT rate after change): 0 < y < 100 and y != x
y = random.randint(1, 99)
while y == x:
y = random.randint(1, 99)
# Generate s (sum of after-tax prices): 10 < s < 1000
s = random.randint(11, 999)
return x, y, s
# Generate a specified number of test cases
num_test_cases = 10 # Change this number to generate more or fewer test cases
test_cases = [tcgen() for _ in range(num_test_cases)]
# Print out the test cases
for case in test_cases:
print(f"{case[0]} {case[1]} {case[2]}")
# Append the end marker
print("0 0 0")
```
This script generates random test cases based on the constraints specified in the problem statement. Each test case consists of three integers \(x\), \(y\), and \(s\), which represent the VAT rate before the change, the VAT rate after the change, and the sum of after-tax prices of two items before the VAT rate change, respectively.
The script also ensures that \(x\) and \(y\) are different, and it prints the end marker "0 0 0" at the end of the generated test cases. You can adjust the `num_test_cases` variable to generate the desired number of test cases.
Extract Arguments
def extract_arguments(fh):
inputs = []
while True:
line = fh.readline().strip()
if line == "0 0 0":
break
x, y, s = map(int, line.split())
inputs.append((x, y, s))
return inputs
# if __name__ == "__main__":
# input_path = sys.argv[1]
# with open(input_path, 'r') as fh:
# inputs = extract_arguments(fh)
# f(inputs)