1113. 括号匹配
这题也真是醉了
一模一样的输出居然一个0一个100
正确
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 char c[101]; 6 int js[100]; 7 void f() 8 { 9 int i=0,top=0,j=0; 10 while(i<strlen(c)) 11 { 12 if(c[i]=='('){ 13 js[j++]=i; 14 } 15 if(c[i]==')'){ 16 cout<<js[--j]<<" "<<i<<endl; 17 } 18 i++; 19 } 20 } 21 int main() 22 { 23 cin>>c; 24 f(); 25 return 0; 26 }
错误
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 char a[10001]; 6 struct stack 7 { 8 int p; 9 int num; 10 }s[1001]; 11 int main() 12 { 13 gets(a); 14 int l=strlen(a); 15 int begin; 16 int now=0; 17 for(int i=0;i<l;i++) 18 { 19 if(a[i]=='(') 20 { 21 s[now].p=1; 22 s[now].num=i; 23 now++; 24 } 25 else 26 { 27 //s[now].p=2; 28 //s[now].num=i; 29 cout<<s[now-1].num<<" "<<i<<endl; 30 now--; 31 } 32 } 33 return 0; 34 }
作者:自为风月马前卒
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。