2178번 - 미로 탐색
문제에서 주어진 지도의 크기의 값을 입력 받을 때
{ scanf("%d %d",&N,&M); for(int i = 0 ; i <N ; i++){ for(int j = 0 ; j < M ; j++){ scanf("%1d",&map[i][j]); } }
cin>>N>>M; for(int i = 0 ; i <N ; i++){ for(int j = 0 ; j < M ; j++){ cin>>map[i][j]; } }
scanf와 cin의 차이점을 모르겠네요.
cin으로 정답으로 하게 하려면 어떻게 바꿔야 하나요?
cin을 쓰면 10101100 같은 것을 통째로 하나의 수로 인식하기 때문에 틀립니다. scanf는 %1d로 했기 때문에 맞는 것이고, 아무 처리 없이 %d로 쓰면 똑같이 틀리게 됩니다.
답변으로 인해 원인은 알게 되었습니다.
그러면 cin으로 %1d와 같은 방법이 되게 만들 수 없나요?
C++을 공부하면서도 cin cout을 잘 사용을 안 해서 모르겠습니다. 다른 분들이 답변해 주시길 기대합니다 :)
댓글을 작성하려면 로그인해야 합니다.
shinyy0312 6년 전 1
문제에서 주어진 지도의 크기의 값을 입력 받을 때
{
위와 같이 사용하면 정답인데scanf("%d %d",&N,&M);
for(int i = 0 ; i <N ; i++){
for(int j = 0 ; j < M ; j++){
scanf("%1d",&map[i][j]);
}
}
cin>>N>>M;
이렇게 쓰면 오답이 되더라구요.for(int i = 0 ; i <N ; i++){
for(int j = 0 ; j < M ; j++){
cin>>map[i][j];
}
}
scanf와 cin의 차이점을 모르겠네요.
cin으로 정답으로 하게 하려면 어떻게 바꿔야 하나요?