POJ 2246(模擬矩陣相乘)

2021-06-30 16:53:59 字數 1021 閱讀 2183

題目:

題目本身沒什麼難度,只不過不同風格的程式寫出來不一樣,這裡我用了遞迴降解 + 異常:遞迴降解是求解算術運算的利器;當矩陣維數不匹配時,丟擲異常,然後遞迴棧自動回退到main中的catch,棧上的區域性變數也會自動析構,感覺這個風格有點pythonic呢

#include #include #include using namespace std;

typedef long long ll;

struct dimensionerror{};

struct result

result(ll r, ll c, ll s) : row(r), col(c), cal(s){}

result& operator *= (const result& other)

};int matrix[26][2];

string::size_type findmatch(const string& s, string::size_type left)

return left;

}result work(const string& s)

return res;

} //find left's matcher

result res;

string::size_type right = findmatch(s, left);

if(left != 0)

else res = work(s.substr(1, right - 1));

if(right + 1 != s.size()) res *= work(s.substr(right + 1));

return res;

}int main()

while(cin >> s)

if(i != s.size())

//figure out total multiplications

trycatch(dimensionerror e)

} return 0;

}

poj2246 資料結構棧

簡單的棧操作 對給定的輸入串進行出棧如棧操作 每一次出棧後進行計算 得到的結果再次如棧 一直進行到輸入串結束!include include include include include includeusing namespace std struct node int main memset ...

POJ 3070 Fibonacci(快速冪矩陣)

題目鏈結 不是很了解,線代的行列式和矩陣乘法,忘的差不多了。這個矩陣的n 1次方的左上角那個數就是菲薄那切數列的第n項。快速冪矩陣,和快速冪模差不多,把數相乘換成矩陣相乘了。渣 請無視,改天整理乙個模版版本。1 include 2 include 3 include 4 include 5 usin...

poj 2420 poj1379 模擬退火

具體模擬退火的原理可參考 模擬退火可用於一些 精度 要求不是很高的題目。比如取答案的0.1,或者沒有小數點 poj2420 題意 給定n個點,找到乙個點,使得n個點到這個點的距離和最小 模擬退火法 模擬退火的過程 1 確定生成點的範圍,初設為矩形,在這個範圍內生成num個點 num自定 2 確定最高...