Problem Statement ANARC09A - Seinfeld
Explanation: Minimum moves for balancing brackets
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
int i,l,t=0;
char s[2001];
while(1)
{
scanf("%s",s);
if(s[0]=='-') break;
int l= strlen(s);
int stk=0,rvs=0;
for(i=0;i<l;i++)
{
if(s[i]=='{') stk++;
if(s[i]=='}'&&stk>0) stk--;
else if( s[i]=='}'&&stk<=0 ) { rvs++; stk++; }
}
rvs= rvs + ceilf(stk/2.00);
printf("%d. %d\n",++t,rvs);
getchar();
}
}