KakaoTalk_20190606_001802318.png
  • 246x0w
Welcome
Curriculum
Install&Go
Board
실제 작동 상태를 확인하려면 라이브 사이트로 이동하세요.
  • 카테고리
  • 전체 게시물
  • 내 게시물
parkmc1227
2020년 4월 11일

200411

게시판: 소스 코드 제출

/*#include <stdio.h>

void push(char *stack,int *top,char k){

if(*top==50001){

return;

}

stack[*top]=k;

(*top)++;

return;

}

void pop(char *stack,int *top){

if(*top==0)return;

(*top)--;

stack[*top]=0;

return;

}

void print(char *stack,int *top){

for(int i=0;i<*top;i++){

printf("%d",stack[i]);

}

printf("\n");

return;

}

int main(){

char s[50001]={};

scanf("%s",s);

char stack[50001]={};

int i=0;

int top=0;

while(s[i]=='('||s[i]==')'){

if(s[i]=='('){

push(stack,&top,'(');

}else{

if(stack[0]=='('){

pop(stack,&top);

}else{

printf("bad");

return 0;

}

}

i++;

}

if(stack[0]=='\0'){

printf("good");

}else{

printf("bad");

}

return 0;

}*/


/*#include<stdio.h>

#include<string.h>

int d(int k){

int c=1;

for(int i=0;i<k;i++){

c*=2;

}

return c;

}

int t(int k){

int c=1;

for(int i=0;i<k;i++){

c*=3;

}

return c;

}

void push(char *stack,int *top,char k){

if(*top==16){

return;

}

stack[*top]=k;

(*top)++;

return;

}

void pop(char *stack,int *top){

if(*top==0)return;

(*top)--;

stack[*top]=0;

return;

}

char s[31]={};

int main(){

char rstack[16]={};

char sstack[16]={};

int rtop=0,stop=0;

scanf("%s",s);

int sum=0;

for(int i=0;i<strlen(s);i++){

if(s[i]=='('){

if(s[i+1]==')'){

sum+=2*(d(rtop)*t(stop));

i++;

}else{

push(rstack,&rtop,'(');

}

}else if(s[i]=='['){

if(s[i+1]==']'){

sum+=3*(d(rtop)*t(stop));

i++;

}else{

push(sstack,&stop,'[');

}

}else if(s[i]==')'){

if(rtop&&s[i-1]!='['){

pop(rstack,&rtop);

}else{

printf("0");

return 0;

}

}else if(s[i]==']'){

if(stop&&s[i-1]!='('){

pop(sstack,&stop);

}else{

printf("0");

return 0;

}

}

}

if(rtop==0&&stop==0){

printf("%d",sum);

}else{

printf("0");

}

return 0;

}*/

/*#include<stdio.h>

#include<string.h>

void push(char *stack,int *top,char k){

if(*top==100001){

return;

}

stack[*top]=k;

(*top)++;

return;

}

void pop(char *stack,int *top){

if(*top==0)return;

(*top)--;

stack[*top]=0;

return;

}

char s[100001]={};

int main(){

char stack[100001]={};

scanf("%s",s);

int sum=0;

int top=0;

for(int i=0;i<strlen(s);i++){

if(s[i]=='('){

if(s[i+1]==')'){

sum+=top;

i++;

}else{

push(stack,&top,'(');

}

}else{

pop(stack,&top);

sum++;

}

}

printf("%d",sum);

return 0;

}*/


댓글 0개
0
댓글
댓글 0개
유사 게시물
  • 200411
  • 200411
  • 200411
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호