new files
This commit is contained in:
parent
3af7344581
commit
86c034bb8b
1364 changed files with 21352 additions and 0 deletions
43
Task/Balanced-brackets/C/balanced-brackets-1.c
Normal file
43
Task/Balanced-brackets/C/balanced-brackets-1.c
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<string.h>
|
||||
|
||||
int isBal(const char*s,int l){
|
||||
signed c=0;
|
||||
while(l--)
|
||||
if(s[l]==']') ++c;
|
||||
else if(s[l]=='[') if(--c<0) break;
|
||||
return !c;
|
||||
}
|
||||
|
||||
void shuffle(char*s,int h){
|
||||
int x,t,i=h;
|
||||
while(i--){
|
||||
t=s[x=rand()%h];
|
||||
s[x]=s[i];
|
||||
s[i]=t;
|
||||
}
|
||||
}
|
||||
|
||||
void genSeq(char*s,int n){
|
||||
if(n){
|
||||
memset(s,'[',n);
|
||||
memset(s+n,']',n);
|
||||
shuffle(s,n*2);
|
||||
}
|
||||
s[n*2]=0;
|
||||
}
|
||||
|
||||
void doSeq(int n){
|
||||
char s[64];
|
||||
const char *o="False";
|
||||
genSeq(s,n);
|
||||
if(isBal(s,n*2)) o="True";
|
||||
printf("'%s': %s\n",s,o);
|
||||
}
|
||||
|
||||
int main(){
|
||||
int n=0;
|
||||
while(n<9) doSeq(n++);
|
||||
return 0;
|
||||
}
|
||||
9
Task/Balanced-brackets/C/balanced-brackets-2.c
Normal file
9
Task/Balanced-brackets/C/balanced-brackets-2.c
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
'': True
|
||||
'[]': True
|
||||
']][[': False
|
||||
'[][][]': True
|
||||
'[]][[]][': False
|
||||
'[]][[[[]]]': False
|
||||
']]]][[[]][[[': False
|
||||
']]]]]][][[[[[[': False
|
||||
'[][]][[][[[]]][]': False
|
||||
Loading…
Add table
Add a link
Reference in a new issue