PAT A1058 A+B in Hogwarts
思路:直接进行字符串模拟,暴力求解答案。
#include<iostream>
#include<string>
using namespace std;
int main() {
string A, B, C;
cin >> A >> B;
int G_A = 0, S_A = 0, K_A = 0;
int G_B = 0, S_B = 0, K_B = 0;
int G_C, S_C, K_C;
int cnt = 0;
for(int i = 0; i < A.size(); i++) {
if(A[i] == '.') cnt++;
else if(cnt == 0) G_A = 10 * G_A + A[i] - '0';
else if(cnt == 1) S_A = 10 * S_A + A[i] - '0';
else if(cnt == 2) K_A = 10 * K_A + A[i] - '0';
}
cnt = 0;
for(int i = 0; i < B.size(); i++) {
if(B[i] == '.') cnt++;
else if(cnt == 0) G_B = 10 * G_B + B[i] - '0';
else if(cnt == 1) S_B = 10 * S_B + B[i] - '0';
else if(cnt == 2) K_B = 10 * K_B + B[i] - '0';
}
G_C = G_A + G_B, S_C = S_A + S_B, K_C = K_A + K_B;
S_C += K_C / 29, K_C %= 29;
G_C += S_C / 17, S_C %= 17;
C = to_string(G_C) + "." + to_string(S_C) + "." + to_string(K_C);
cout << C;
return 0;
}