Loading [MathJax]/extensions/TeX/AMSmath.js

#UVa:12502-Three Families

灆洢 2020-01-22 10:05:44

此題由於必須要不使用到小數計算來得解,故先透過底下推算來得解:
\begin{align*} T_a &= \text{A 家族總共花的時間} \\ T_b &= \text{B 家族總共花的時間} \\ M &= \text{C 家族總共花的錢} \\ \\ T_{total} &= T_a + T_b \\ T_o &= \text{原本一個家族要花的時間} \\ &= \frac{T_{total}}{3} \\ &= \frac{T_a + T_b}{3} \\ \\ T_a’ &= \text{A 家族多花的時間} \\ &= T_a – T_o \\ T_b’ &= \text{B 家族多花的時間} \\ &= T_b – T_o \\ \\ M_a &= \text{C 家族必須付給 A 家族的錢} \\ &= M \times \frac{T_a’}{T_a’ + T_b’} \\ &= M \times \frac{T_a – T_o}{(T_a – T_o) + (T_b – T_o)))} \\ &= M \times \frac{T_a – \frac{T_a+T_b}{3}}{T_a – \frac{T_a+T_b}{3} + T_b – \frac{T_a+T_b}{3}} \\ &= M \times \frac{\frac{2T_a – T_b}{3}}{\frac{T_a+T_b}{3}} \\ &= \frac{M(2T_a – T_b)}{T_a + T_b} \\ \end{align*}

C++(0.000)

/*******************************************************/
/* UVa 12502 Three Families                            */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2020/01/22                                 */
/*******************************************************/
#include <iostream>
#include <cstdio>
using namespace std;

int main(){
  int T;
  while(scanf("%d", &T) != EOF){
    for(int caseNumber = 1 ; caseNumber <= T ; ++caseNumber){
      int x, y, z;
      scanf("%d%d%d", &x, &y, &z);
      printf("%d\n", z * (2*x - y) / (x + y));
    }
  }

  return 0;
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料