输入:
4
【】()
(【】)
(【)】
(【(】】)
输出:
0
0
0
2
这个题是我做另一个题时理解错误...
代码:
#include<iostream>
#include<stdio.h>
using namespace std;
int use(){
char a[100];
char t;
int al=0;
cin.sync();
for(;((t=getchar())!='\n');al++){
a[al]=t;
}
int num=0;
for(int i=0;i<al;i++){
if(a[i]=='('){
int flag=0;
for(int j=0;j<al;j++){
if(a[j]==')'){
a[i]=a[j]='0';
flag=1;
break;
}
}
if(flag==0){
num++;
a[i]='0';
}
}else if(a[i]=='['){
int flag=0;
for(int j=0;j<al;j++){
if(a[j]==']'){
a[i]=a[j]='0';
flag=1;
break;
}
}
if(!flag){
num++;
a[i]='0';
}
}
}
int cou=0;
for(int i=0;i<al;i++){
if(a[i]!='0'){
cou++;
}
}
return (cou+num);
}
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
a[i]=use();
}
for(int i=0;i<n;i++){
cout<<a[i]<<endl;
}
}