A,B,C三個人是好朋友,每個人手裏都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的信息:

1.題目描述

A,B,C三個人是好朋友,每個人手裏都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的信息:
A - B, B - C, A + B, B + C. 這四個數值.每個字母代表每個人所擁有的糖果數.
現在需要通過這四個數值計算出每個人手裏有多少個糖果,即A,B,C。這裏保證最多隻有一組整數A,B,C滿足所有題設條件。

輸入描述:
輸入爲一行,一共4個整數,分別爲A - B,B - C,A + B,B + C,用空格隔開。 範圍均在-30到30之間(閉區間)。

輸出描述:
輸出爲一行,如果存在滿足的整數A,B,C則按順序輸出A,B,C,用空格隔開,行末無空格。 如果不存在這樣的整數A,B,C,則輸出No
示例1
輸入
1 -2 3 4
輸出
2 1 3

2.代碼展示

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    vector<int> v(4);
    for (int i=0; i<4; ++i)
    {
        cin>>v[i];
    }
    int A = (v[0]+v[2])/2;
    int B1 = (v[1]+v[3])/2;
    int B2 = (v[2]-v[0])/2;
    int C = (v[3]-v[1])/2;
    if (B1==B2)
        cout<<A<<" "<<B1<<" "<<""<<C<<endl;
    else
        cout<<"No"<<endl;
    return 0;
}

3.解題分析

這個題主要就是通過表達式判斷計算出來的B是否相等,相等則按要求輸出,不相等則輸出No。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章