Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
0ms飘过 模拟过程就行 附上代码和模拟出来的字符数组#include<cstdio> #include<iostream> #include<stack> #include<cstring> using namespace std; int a[100]; char b[100]; int main(){ int t; cin>>t; while(t--){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } a[0]=0; int tot=0; for(int i=1;i<=n;i++){ for(int j=1;j<=a[i]-a[i-1];j++){ b[++tot]='('; } tot++; b[tot]=')'; } /* for(int i=1;i<=tot;i++){ printf("%c ",b[i]); }*/ // printf("\n"); stack<char>s; int book[100]; memset(book,0,sizeof(book)); for(int i=1;i<=tot;i++){ if(b[i]==')'){ int m=i; int tot=0; while(b[m]!='('||book[m]){ m--; if(b[m]==')') tot++; } book[m]=1; printf("%d ",i-m-tot); } } printf("\n"); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator