這個模擬,注意每次進入迴圈的時候把新狀態全部入棧,退出迴圈的時候就退棧。
第一次就錯在發現err退出太及時,把剩餘的資訊留在流裡面。
#includeusing namespace std;
typedef long long ll;
void solve()
}//變數進棧的順序
stackchs;
//被占用的變數的標記
stackonplus;
bool used[256]= {};
int cnt=0;
//當前的時間複雜度是n的幾次方?
int curon=0;
//曾經到過的最高的複雜度
int maxon=0;
//當前是否能執行至少一次,每次與棧頂取與之後放進去
stackcurrun;
currun.push(true);
int res=1;
int i;
for(i=0; it2) else }}
}}
if(res==-1)
if(cnt) else else
}}int main()
}
洛谷P3952 時間複雜度 模擬
題目鏈結 咕了一年的題解。就是個模擬吧 考場上寫的遞迴也是醉了。感覺一年自己進步了不少啊。面向資料程式設計的能力提高了不少 include define fi first define se second define mp make pair using namespace std const i...
洛谷P3952 時間複雜度
題目描述 小明正在學習一種新的程式語言 a 剛學會迴圈語句的他激動地寫了好多程式並 給出了他自己算出的時間複雜度,可他的程式設計老師實在不想乙個乙個檢查小明的程式,於是你的機會來啦!下面請你編寫程式來判斷小明對他的每個程式給出的時間複雜度是否正確。a 語言的迴圈結構如下 f i x y 迴圈體e其中...
洛谷P3952 時間複雜度
小明正在學習一種新的程式語言 a 剛學會迴圈語句的他激動地寫了好多程式並 給出了他自己算出的時間複雜度,可他的程式設計老師實在不想乙個乙個檢查小明的程式,於是你的機會來啦!下面請你編寫程式來判斷小明對他的每個程式給出的時間複雜度是否正確。a 語言的迴圈結構如下 f i x y 迴圈體e其中f i x...