poj 1068 Parencodings
2013-07-30 19:25
375 查看
一个水题,全是小错误,整了一下午。
题目:http://poj.org/problem?id=1068
题意:给出一组括号: (((()()())))
P是”)“前面有几个“(”: 4 5 6 6 6 6
S是“)”前面第几个“(”是对应的: 1 1 1 4 5 6
让你根据给出的P求对应的S
题目:http://poj.org/problem?id=1068
题意:给出一组括号: (((()()())))
P是”)“前面有几个“(”: 4 5 6 6 6 6
S是“)”前面第几个“(”是对应的: 1 1 1 4 5 6
让你根据给出的P求对应的S
#include<iostream> #include<cstring> #include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; int main() { int n,i,t,a[1500],b[1500],top,j,sum,ans,x; cin>>t; while(t--) { cin>>n; x=0; memset(b,0,sizeof(b)); top=0; for(i=1; i<=n; i++) { cin>>b[i]; for(j=1; j<=b[i]-b[i-1]; j++) { a[++top]=-1;//左括号用-1表示 } a[++top]=1;//右括号用1表示 } for(i = 1; i <= top; i++) { if(a[i]==1) { sum=1; ans=1; for(j=i-1; ; j--) { ans+=a[j]; if(a[j]==1)//刚开始以为a[j]=-1,也是false了,唉 sum++; if(ans==0) { x++; printf("%d",sum); if(x!=n)//输出格式上也错了好几遍 printf(" "); else printf("\n"); break; } } } } } return 0; }
相关文章推荐
- POJ 刷题系列:1068. Parencodings
- POJ 1068 Parencodings 模拟题
- POJ 1068 Parencodings
- POJ 1068 Parencodings 模拟
- [ACM] POJ 1068 Parencodings(模拟)
- POJ 1068 Parencodings
- poj 1068 Parencodings
- poj 1068 Parencodings
- HDU 1361 & POJ 1068 Parencodings(模拟)
- POJ 1068 Parencodings
- poj 1068 Parencodings(模拟)
- Hdu1361&&Poj1068 Parencodings
- POJ1068——Parencodings
- poj 1068 (Parencodings)
- POJ-1068 Parencodings
- poj1068--Parencodings
- Parencodings(POJ1068 模拟)
- poj1068 Parencodings
- [ACM] POJ 1068 Parencodings
- POJ-1068-Parencodings