此题题解
2023-07-26 11:01:42
发布于:广东
13阅读
0回复
0点赞
1.栈的方法:
#include <bits/stdc++.h>
#define MOD 998244353
#define mod 1000000007
using namespace std;
int main()
{
stack<char>s;
string str;
cin >> str;
for (int i = 0; str[i] != '@'; i++)
{
if (str[i] == '(') s.push('(');
if (str[i] == ')')
{
if (s.empty())
{
cout << "NO" << endl;
return 0;
}
else s.pop();
}
}
s.empty() ? cout << "YES" << endl : cout << "NO\n";
return 0;
}
2.统计(
和)
的个数:
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin >> s;
int left = 0;
int right = 0;
for (int i = 0; i < s.length(); i++)
{
if (s[i] == '(') left++;
else if (s[i] == ')') right++;
else if (s[i] == '@') break;
}
if (left == right) cout << "YES" << endl;
else cout << "NO" << endl;
return 0;
}
完结!
全部评论 1
请注意:如果你用第二种方法的话,#6 #7 #8 #10 会WA,我也是先用第二种方法的,发现不行就用第一种方法。
2023-07-26 来自 广东
0
有帮助,赞一个