【題解】1068. Weird Algorithm

【題解】1068. Weird Algorithm

鯊魚Y.Y Lv2

P-1-1. 合成函數(1)

想法

有想過用自定義函數一直呼叫,然後藉此找出數值,但看了講義發現這樣就可以直接用遞迴而且複雜度只有O(n)

AC code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<bits/stdc++.h>
using namespace std;

int count(){
int x,y;
char get[7];
cin >> get;
if(get[0]=='f'){
x=count();
return 2*x-1;
}
else if(get[0]== 'g'){
x=count();
y=count();
return x+2*y-3;
}
else{
return atoi(get);
}
}

int main(){
cout << count() << "\n";
}

題解

運用char技巧做每次判斷一個字元,接著設定char陣列大小為7,符合題目需求正負1000,然後就可以用if跟遞迴去取值跟計算最終答案,用if可以先一層一層往下找直到找到數字

  • 標題: 【題解】1068. Weird Algorithm
  • 作者: 鯊魚Y.Y
  • 撰寫於 : 2026-11-11 14:31:47
  • 更新於 : 2026-11-11 14:38:34
  • 連結: https://sharkyy.org/post/AP325-P-1-1/
  • 版權宣告: 本作品採用 CC BY-NC-SA 4.0 進行許可。
留言
目錄
【題解】1068. Weird Algorithm