ABC079 C - 電車チケット
目次
# 問題
https://atcoder.jp/contests/abc079/tasks/abc079_c
である4つの整数が与えれるので、その間に3つの+か-を入れて計算して答えがになる組み合わせを答える問題.
# 解説
数字列は4文字固定で各文字の間に必ず+か-が入るので全通り試しても通りしかない.
# 計算量
演算は+と-の2通りで、それが3箇所固定なので、計算ステップ数は.
# 解答
string S;
char ops[] = { '-', '+' };
void input() {
cin >> S;
}
#define ctoi(x) (x - '0')
void solve() {
Int x = 0;
loop(first, 0, 2) {
loop(second, 0, 2) {
loop(third, 0, 2) {
x = ctoi(S[0]);
if (first) x += ctoi(S[1]);
else x -= ctoi(S[1]);
if (second) x += ctoi(S[2]);
else x -= ctoi(S[2]);
if (third) x += ctoi(S[3]);
else x -= ctoi(S[3]);
if (x == 7) {
cout << S[0] << ops[first] << S[1] << ops[second] << S[2] << ops[third] << S[3] << "=7" << endl;
return;
}
}
}
}
cout << -1 << endl;
}
int main(void) {
input();
solve();
return 0;
}