Отримання знань

дистанційна підтримка освіти школярів


Кодирование скобок
http://acm.pku.edu.cn/JudgeOnline/problem?id=1068

   Входные данные

   Выходные данные

   Пример входных данных

   Пример выходных данных

   Анализ условия и обсуждение идеи решения

   Пример решения на C++:

#include "stdio.h" 

int main()
{
int T,n,ri,old,a,i,j,p,cnt;
char r[45];

scanf("%d", &T);
while(T--) {
ri=old=0;
scanf("%d", &n);
while(n--) {
scanf("%d", &a);
for(i=a-old; i > 0 ;i--) r[ri++]='(';
r[ri++]=')';
old=a;
}
r[ri]=0;
for(i=0;r[i];i++) {
if(r[i]==')') {
cnt=0; p=1;
for(j=i-1;p;j--) {
if(r[j]==')') p++;
else { p--; cnt++; }
}

printf("%d ", cnt);
}
}
puts("");
}

return 0;
}

 

Попередня Зміст Наступна
В системі: гості - (); користувачі - (0)