#36570: C++簡單寫法


a155328@stdmail.nssh.ntpc.edu. ... (王宥崴)

學校 : 南山中學
編號 : 204604
來源 : [72.52.87.24]
最後登入時間 :
2024-04-21 19:54:34
g005. 倒置文章 (Inversion) -- TOI練習賽202105新手組第2題 | From: [114.44.102.202] | 發表日期 : 2023-07-24 16:28

include <iostream>
#include <string>
using namespace std;
int main() {
  string word;
  cin >> word;
  string ans;
  int i = 0;
  while (i < word.length()) {
    char c = word[i];
    if (c == '+' || c == '-') {
      i++;
      char direction = c;
      int j = i;
      while (j < word.length() && word[j] != '+' &&
             word[j] != '-') {
        j++;
      }
      if (direction == '+') {
        for (int k = i; k < j; k++) {
          ans += word[k];
        }
      } else {
        for (int k = j - 1; k >= i; k--) {
          ans += word[k];
        }
      }
      i = j;
    } else {
      ans += c;
      i++;
    }
  }
  cout << ans << endl;
  return 0;
}

 

 

 

 

提供最簡單的寫法

 
ZeroJudge Forum