# include <iostream>
# include <stack>
# include <string>
# include <sstream>
# include <cstdlib>
using namespace std ;
string DecodeString(string str) {
stack<char> st;
int time ;
for(int i = 0; i < str.size(); i++){
if(str[i] != ']') {
st.push(str[i]);
}
else{
string curr_str = "";
while(st.top() != '[') {
curr_str = st.top() + curr_str ;
st.pop();
}
st.pop(); // for '['
string number = "";
while(!st.empty() && isdigit(st.top())) { // for calculating number
number = st.top() + number;
st.pop();
}
time = atoi( number.c_str() ); // convert string to number
while(time--) {
for(int i = 0; i < curr_str.size() ; i++)
st.push(curr_str[i]);
}
}
}
str = "";
while(!st.empty()) {
str = st.top() + str;
st.pop();
}
return str;
}
int main() {
string str,answer ;
cin >> str ;
answer = DecodeString( str ) ;
cout << answer << endl ;
}
C. 完美平方數 #include <iostream> #include <math.h> using namespace std; int numSquares(int n); int main() { int num, ans;
Jan 27, 2022E. 鐵路 本題源自於Onling Judge:514 - Rails 題目目標在於給定出站順序的前提下,利用已知入站順序1~N, 確定是否仍能夠以目標出站順序離開。 有一個簡單的想法,我們利用queue的特性來維護出站順序、 利用stack的特性來維護入站順序, 並依次比較它們的front/top是否相同,如果相同就安排出站(pop)。
Jan 27, 2022C. 組合 #include<bits/stdc++.h> using namespace std; vector<int> a; bool first=true,f=true; fstream input,output; void find(int g,vector<int> &can,int p){ if(!g){ if(!first){
Sep 19, 2021D. Flood Fill # include <bits/stdc++.h> using namespace std; int m[102][102]; struct Fill{ int x,y,t; };
Sep 16, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up