鲁子欣
(萌新)
1
https://www.xinyoudui.com/courses/1043/all/#/pages/32267
代码:
include<iostream>
int sum = 0;
cin >> str;
for (int i = 0; i < str.size(); i++) {
if (str[i] == 40 || str[i] == 41) {
sum += 1;
}
if (str[i] == 91 || str[i] == 93) {
sum += 3;
}
if (str[i] == 40) {
if (str[i] == 41) {
continue;
}
else {
ci += 1;
}
}
if (str[i] == 41) {
cout << "Wrong";
return 0;
}
if (str[i] == 91) {
if (str[i] == 93) {
continue;
}
else {
si++;
}
}
if (str[i] == 93) {
cout << "Wrong";
return 0;
}
}
if (sum % 2 == 1) {
cout << "Wrong";
return 0;
}
cout << "OK";
return 0;
}
1 个赞
鲁子欣
(萌新)
4
5. 括弧匹配检验
题目ID:9428选做题100分
最新提交:
Wrong Answer
40 分
历史最高:
Wrong Answer
40 分
时间限制: 1000ms
空间限制: 524288kB
题目描述
假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())或[([ ][ ])]等为正确的匹配,[( ])或([ ]( )或 ( ( ) ) )均为错误的匹配。现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配?
输入格式
输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出 “OK” ,不匹配就输出“Wrong”。输入一个字符串:[([][])]
输出格式
匹配就输出 “OK” ,不匹配就输出“Wrong”。
样例
Input 1
[(])
Output 1
Wrong
样例解释
示例输入:[(])
示例输出:Wrong
数据范围
输入仅一行字符(字符个数小于255)。
1 个赞
鲁子欣
(萌新)
6
#include<iostream>
using namespace std;
int main(){
string str;
int ci = 0;
int si = 0;
int sum = 0;
cin >> str;
for (int i = 0; i < str.size(); i++) {
if (str[i] == 40 || str[i] == 41) {
sum += 1;
}
if (str[i] == 91 || str[i] == 93) {
sum += 3;
}
if (str[i] == 40) {
if (str[i] == 41) {
continue;
}
else {
ci += 1;
}
}
if (str[i] == 41) {
cout << "Wrong";
return 0;
}
if (str[i] == 91) {
if (str[i] == 93) {
continue;
}
else {
si++;
}
}
if (str[i] == 93) {
cout << "Wrong";
return 0;
}
}
if (sum % 2 == 1) {
cout << "Wrong";
return 0;
}
cout << "OK";
return 0;
}