https://abc079.contest.atcoder.jp/tasks/abc079_c
解法
https://abc079.contest.atcoder.jp/submissions/1782951
全ての組合せを試す。
自分はビットマスクを使って実装した。
ビットで1が立っていれば"+", 立っていないなら"-"として計算していく。
合計が7となったらそれを答える。
string S; //--------------------------------------------------------------------------------------------------- void _main() { cin >> S; rep(msk, 0, 1 << 3) { int sm = S[0] - '0'; rep(i, 0, 3) { if (msk & (1 << i)) sm += S[i + 1] - '0'; else sm -= S[i + 1] - '0'; } if (sm == 7) { cout << S[0]; rep(i, 0, 3) { if (msk & (1 << i)) cout << "+"; else cout << "-"; cout << S[i + 1]; } cout << "=7" << endl; return; } } }