**作者的个人gitee**
作者的算法讲解主页▶️
每日一言:“泪眼问花花不语,乱红飞过秋千去🌸🌸”
题目
二.解题策略
本题比较简单,我的思路是写三个函数分别计算黄金白银铜一次新产值,通过k次循环即可获取最新产值。
三.代码演示
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>typedef long long ll;using namespace std;
//分别计算每种金属的新产值
ll gold(ll a, ll b, ll c)
{return (b + c) / 2;
}ll silver(ll a, ll b, ll c)
{return (a + c) / 2;
}ll copper(ll a, ll b, ll c)
{return (b + a) / 2;
}void solve()
{int T, K;scanf("%d", &T);ll A, B, C;for (int i = 0; i < T; i++){ll A1 = 0, B1 = 0, C1 = 0;scanf("%lld%lld%lld%d", &A, &B, &C, &K);for (int j = 0; j < K; j++)//计算k次{A1 = gold(A, B, C);B1 = silver (A, B, C);C1 = copper(A, B, C);}cout << A1 << " " << B1 << " " << C1;}
}int main()
{solve();return 0;
}
输出如下
非标准答案,如有错误,恳请指正。