這題非常簡單,首先建立一個函式 int f(int n) 定義:這一個區塊1的數量
把int i 和 string str 都設為全域變數
char c=str[i++];
當讀到的字元是'1' 時回傳n*n
當讀到的字元是'0' 時回傳0
當讀到的字元是'2' 時遞迴、回傳4個小塊所擁有的1的數量,因為四個小塊的邊長都是自己的一半,所以回傳時會像這樣f(n/2)+f(n/2)+f(n/2)+f(n/2),要注意不能因為長得像就寫成這樣4*f(n/2),每個f(n/2)都是獨立的。