首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

URAL 2001 Mathematicians and Berries:簡單數學邏輯推導質量分配

     編輯:關於C++

URAL 2001 完整解析:三次稱重推導初始漿果質量

兩數學家採漿果,三次稱重:

  1. 各自籃子:a1, b1
  2. 第二人倒入第一人籃子:a2, b2=0
  3. 第一人倒入第二人籃子:a3=0, b3

求初始漿果質量(不含籃子)。

數學推導

設籃子質量為 B1, B2,漿果質量 x, y。
a1 = B1 + x, b1 = B2 + y
a2 = B1 + x + y, b2 = B2
a3 = B1, b3 = B2 + x + y

解得:
x = a1 - a3(第一人初始漿果)
y = b1 - b2(第二人初始漿果)

完整 AC 程式碼

#include <cstdio>

int main() {
    int a1, b1, a2, b2, a3, b3;
    while (scanf("%d %d %d %d %d %d", &a1, &b1, &a2, &b2, &a3, &b3) == 6) {
        printf("%d %d\n", a1 - a3, b1 - b2);
    }
    return 0;
}

範例驗證

輸入:
1 2
2 1
0 3

a1=1, b1=2, a2=2, b2=1, a3=0, b3=3
x = 1 - 0 = 1
y = 2 - 1 = 1
輸出:1 1 ✓

關鍵點總結

  • 籃子質量不變:關鍵不變量
  • 三次稱重對應三個方程組:消去籃子質量得漿果質量
  • 極簡邏輯:無需解方程組,直接觀察差值
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved