Submission #2236772


Source Code Expand

#include <iostream>
#include <math.h>
#include <string>
#include <stack>
using namespace std;

int ctoi(const char c){
  if('0' <= c && c <= '9') return (c-'0');
  return -1;
}

int main(void) {
  stack<int> st;
  
	cin.tie(0);
  ios::sync_with_stdio(false);
  
  //ABCDを取得
  string S;
  cin >> S;
  int A = ctoi(S[0]);
  int B = ctoi(S[1]);
  int C = ctoi(S[2]);
  int D = ctoi(S[3]);
  
  string ope[3];
  for (int i=0 ; i<8 ; i++) {
    st.push(D);
    st.push(C);
    st.push(B);
    st.push(A);
    
    for (int j=0 ; j<3 ; j++) {
      ope[j] = ((i>>j) % 2) == 1 ? "+" : "-" ;
      
      int left = st.top();
      st.pop();
      int right = st.top();
      st.pop();
      if (ope[j] == "+") {
        st.push(left + right);
      } else {
        st.push(left - right);
      }
    }  
    
    if (st.top() == 7) {
      break;
    }
    
    st.pop();
  }
  
  cout << A << ope[0] << B << ope[1] << C << ope[2] << D << "=7" << "\n";
}

Submission Info

Submission Time
Task C - Train Ticket
User oftonkingdom
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1010 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 19
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, sample_01.txt, sample_02.txt, sample_03.txt
Case Name Status Exec Time Memory
01.txt AC 1 ms 256 KB
02.txt AC 1 ms 256 KB
03.txt AC 1 ms 256 KB
04.txt AC 1 ms 256 KB
05.txt AC 1 ms 256 KB
06.txt AC 1 ms 256 KB
07.txt AC 1 ms 256 KB
08.txt AC 1 ms 256 KB
09.txt AC 1 ms 256 KB
10.txt AC 1 ms 256 KB
11.txt AC 1 ms 256 KB
12.txt AC 1 ms 256 KB
13.txt AC 1 ms 256 KB
14.txt AC 1 ms 256 KB
15.txt AC 1 ms 256 KB
16.txt AC 1 ms 256 KB
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB