Moderator: Board moderators
* edited *
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
#define DIM 129
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int i=0,col=0,j,n,par=0;
char **string,*e;
scanf("%d",&n);
gets(e);
string = (char **) malloc (n * sizeof(char *));
for (i=0; i<DIM; i++)
{
*(string +i) = (char *) malloc(DIM * sizeof (char));
}
for(j=0;j<n;j++){
gets(string[j]);
}
for(j=0;j<n;j++)
{
par=0; col=0;
{
for(i=0;i<DIM;i++)
{
if( string[j][i] == '(')
{
par++;
}
if( string[j][i] == ')')
{
par--;
}
if( string[j][i] == '[')
{
col++;
}
if( string[j][i] == ']')
{
col--;
}
if((col <0) || (par <0) || (string[j][i] == '\0') )
{
break;
}
}
}
if((par == 0) && (col == 0))
puts("Yes");
else puts("No");
}
return 0;
}
#include<stdio.h>
#include<string.h>
int main(){
int N,index,stop,string[130];
bool res;
char str[130] ;
if(fgets(str,129,stdin) == NULL){
return 1;
}
sscanf(str,"%d\n",&N);
while(N--){
index = stop = 0;
res = true;
for( ; res && stop == 0 ; ){
switch(getchar()){
case '\n':
stop = 1;
break;
case '(':
string[index++] = 1;
break;
case '[':
string[index++] = 2;
break;
case ')':
if(index == 0 || (index>0 && string[--index] != 1) ){
res = false;
}
break;
case ']':
if(index == 0 || (index>0 && string[--index] != 2) ){
res = false;
}
break;
default:
break;
}
}
if(index == 0 && res ){
fprintf(stdout,"Yes\n");
}else{
fprintf(stdout,"No\n");
}
}
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char str[150];
int top = 0,i,n;
char stack[150];
scanf("%d%*c",&n);
while(n--)
{
gets(str);
int left = 0;
int right = 0;
for(i = 0; str[i]; i++)
{
if( (str[i] == '(') || (str[i] == '[') )
{ stack[top++] = str[i];
left++;
}
if( (str[i] == ')') )
{
if( stack[--top] == '(' )
right++;
else
break;
}
if( (str[i] == ']') )
{
if(stack[--top] == '[')
right++;
else
break;
}
}
if(left == right)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}

Users browsing this forum: No registered users and 0 guests