標題:
a045: 括弧配對
[打印本頁]
作者:
李知易
時間:
2024-11-26 21:48
標題:
a045: 括弧配對
本帖最後由 李知易 於 2024-11-26 22:26 編輯
[attach]20243[/attach]
a045
本帖隱藏的內容需要回復才可以瀏覽
作者:
高鋐鈞
時間:
2024-11-30 10:12
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
while(cin>>s){
bool m=true;
stack <char> sp;
for(int i=0;i<s.length();i++){
if(s[i]=='('||s[i]=='['||s[i]=='{'){
sp.push(s[i]);
}
if(s[i]==')'||s[i]==']'||s[i]=='}'){
if(sp.empty()){
m=false;
break;
}
else if(s[i]-sp.top()==2||s[i]-sp.top()==1){
sp.pop();
}
}
}
if(sp.empty()&&m){
cout<<"yes"<<endl;
}else{
cout<<"no"<<endl;
}
}
return 0;
}
複製代碼
作者:
徐啟祐
時間:
2024-11-30 10:12
#include<bits/stdc++.h>
using namespace std;
int main()
{
string str;
while(cin>>str)
{
stack<char> sp;
bool match=true;
for(int i=0;i<str.length();i++)
{
if(str[i] =='(' || str[i] =='[' || str[i] =='{')
{
sp.push(str[i]);
}
if(str[i] ==')' || str[i] ==']' || str[i] =='}')
{
if(sp.size()==0)
{
match=false;
break;
}
if(str[i]-sp.top()==2 || str[i]-sp.top()==1)
{
sp.pop();
}
}
}
if(match==true && sp.size()==0)
{
cout<<"yes\n";
}
else
{
cout<<"no\n";
}
}
}
複製代碼
作者:
高昀昊
時間:
2024-11-30 10:16
#include<bits/stdc++.h>
using namespace std;
int main()
{
string x;
while(cin>>x){
int c=0;
stack<char> n;
if(x.length()%2){
cout<<"no\n";
continue;
}
for(int i=0;i<x.length();i++){
if(x[i]=='(' || x[i]=='[' || x[i]=='{'){
n.push(x[i]);
}else if(x[i]==')' || x[i]==']' || x[i]=='}'){
if(n.empty()){
c++;
break;
}else if((x[i]-n.top())>2){
c++;
break;
}else{
n.pop();
}
}
}
if(n.empty() && c==0){
cout<<"yes\n";
}else{
cout<<"no\n";
}
}
return 0;
}
複製代碼
作者:
楊惇翔
時間:
2024-11-30 10:17
#include <bits/stdc++.h>
using namespace std;
string str;
int main()
{
while(cin>>str)
{
stack <char>sp;
bool match=true;
for(int i=0; i<str.length(); i++)
{
if(str[i]=='(' || str[i]=='[' || str[i]=='{' )
{
sp.push(str[i]);
}
if(str[i]==')' || str[i]==']' || str[i]=='}' )
{
if(sp.empty())
{
match=false;
break;
}
if(str[i]-sp.top()==1 || str[i]-sp.top()==2)
{
sp.pop();
}
else
{
match=false;
break;
}
}
}
if(sp.empty() && match==true)
cout<<"yes\n";
else
cout<<"no\n";
}
return 0;
}
複製代碼
作者:
洪承廷
時間:
2024-11-30 10:19
#include<bits/stdc++.h>
using namespace std;
int main()
{
string str;
while(cin>>str)
{
stack<char> sp;
bool match=true;
for(int i=0;i<str.length();i++)
{
if(str[i]=='(' || str[i]=='[' ||str[i]=='{')
sp.push(str[i]);
if(str[i]==')' || str[i]==']' ||str[i]=='}')
{
if(str.length()%2==1)
{
match=false;
break;
}
if(sp.empty())
{
match=false;
break;
}
if(str[i]-sp.top()==1 || str[i]-sp.top()==2)
{
sp.pop();
}
else
{
match=false;
break;
}
}
}
if(match and sp.empty())
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return 0;
}
複製代碼
作者:
張駿霖
時間:
2024-11-30 10:22
#include<bits/stdc++.h>
using namespace std;
string str;
int main()
{
while(cin>>str)
{
bool m=true;
stack<char> sp;
for(int i=0;i<str.length(); i++)
{
if(str[i]=='('||str[i]=='['||str[i]=='{')
sp.push(str[i]);
if(str[i]==')'||str[i]==']'||str[i]=='}')
{
if(sp.empty())
{
m=false;
break;
}
if(str[i]-sp.top()==1||str[i]-sp.top()==2)
{
sp.pop();
}else{
m=false;
break;
}
}
}
if(m==true&&sp.empty())
{
cout<<"yes\n";
}else{
cout<<"no\n";
}
}
}
複製代碼
作者:
孫子傑
時間:
2024-11-30 10:24
#include <bits/stdc++.h>
using namespace std;
int main() {
string a;
while(cin>>a)
{
stack<char> st;
bool ma=true;
for(int i=0;i<a.length();i++)
{
if(a[i]=='(' or a[i]=='[' or a[i]=='{')
st.push(a[i]);
if(a[i]==')' or a[i]==']' or a[i]=='}')
{
if(st.empty())
{
ma=false;
break;
}else if(a[i]-st.top()==1 or a[i]-st.top()==2)
{
st.pop();
}else
{
ma=false;
break;
}
}
}
cout<<((st.empty() && ma==true) ? "yes\n" : "no\n");
}
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2