개발자 톡
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;
}
이렇게 작성했는데 반례가 있을까요?
틀렸다고 나오는데 이유를 모르겠습니다.