k629 - Bit++ (位元++)
題目描述
題目要求模擬 Bit++ 語言的執行,該語言只有一個變數 X,可以進行 ++ 或 -- 操作。給定一連串的操作指令,初始值為 0,計算最終 X 的值。
解題思路
題目描述了四種操作形式:X++、++X、X--、--X。 程式碼透過讀取每個指令字串,判斷指令是增加還是減少,並更新變數 x 的值。 由於指令字串的長度固定為 2 或 3,且只有 '+' 或 '-' 作為操作符,因此可以直接透過判斷第二個字元來決定是增加還是減少。
複雜度分析
- 時間複雜度: O(n),其中 n 是指令的數量。程式碼需要遍歷所有 n 個指令。
- 空間複雜度: O(1),程式碼只使用了一個整數變數 x 和一個字串變數 s,空間使用量不隨輸入大小變化。
程式碼
#include <iostream>
using namespace std;
int x,n;
string s;
int main(){
cin >> n;
for(int i=0;i<n;++i){
cin >> s;
if(s[1]=='+')++x;
else --x;
}
cout << x;
}