개발자 톡

연습문제 톡 [21년 재직자 대회 예선] 비밀 메뉴

c언어 코드 반례

등록일
2024-11-14 15:45:55
조회수
43
작성자
tpql0304

#define _CRT_SECURE_WARNINGS

#include <stdio.h>

#include <string.h>


int yes(int *i,int *j){

  *i=*i+1;

  *j=*j+1;


  return 1;

}


int no(int *i,int *j){

  *i=0;

  *j=*j+1;

  return 2 ;

}


int main(){

  int M,N,K=0; //M=조작법 번호 개수, N=사용자가 누른 조작 버튼 수, K=번호 개수

  scanf("%d %d %d",&M,&N,&K);


  int secret[M]; //4 (2 1 3 2)

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

    scanf("%d",&secret[i]);

  }


  int num[N]; //10 (1 3 2 1 2 1 3 2 4 5)

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

    scanf("%d",&num[i]);

  }


  int a=0;

  int b=0;

  int re=0;


  while (a!=M&&b<N){ //4 10

    if(secret[a]!=num[b]){

      if(re==1){

        a=0;

        re=2;

      }

      else{

        re=no(&a,&b);

      }

       

    }

    else {

      re =yes(&a,&b);

    }

  }

   

  if(a==M){

    printf("secret");

  }

  else {

    printf("normal");

  }

  return 0;


}


이렇게 작성했는데 반례가 있을까요?

틀렸다고 나오는데 이유를 모르겠습니다.

#[21년_재직자_대회_예선]_비밀_메뉴
#c언어
#반례

이 카테고리의 톡 더보기