Notice
Recent Posts
문제 풀이 및 개발 공간
[백준] 1331번 나이트 투어 문제! (silver 5 본문
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
int[][] alphabet=new int[6][7];
boolean vOrInv=true;
char moved=0;
int dis=0;
char initialChar=0;
int initialDis=0;
for(int i=0; i<36; i++) {
String word=br.readLine();
//왔던 곳인지 비교, 새로운 체스판을 입력받을때마다 1을 대입해서,
//혹여 alphabet[A][1]의 값이 1이면, 중복된 것이므로 false;
if(alphabet[word.charAt(0)-'A'][word.charAt(1)-'0']==1) {
vOrInv=false;
}
alphabet[word.charAt(0)-'A'][word.charAt(1)-'0']=1;
//맨마지막에 초기위치로 돌아갈 수 있는지 판별해야하므로, i=0일때의 초기 위치 저장.
if(i==0) {
initialChar=word.charAt(0);
initialDis=word.charAt(1)-'0';
}
//이동한 값이 이동가능 범위인지. 알파벳 1칸 차이면 숫자는 2칸차
//알파벳 2칸 차는 숫자는 1칸차
//알파벳 동일하게 이동불가,
//알파벳 차가 2이상으로 이동불가.
else {
if(Math.abs(word.charAt(0)-moved)==1) {
if(Math.abs((word.charAt(1)-'0')-dis) != 2) {
vOrInv=false;
}
}
else if(Math.abs(word.charAt(0)-moved)==2) {
if(Math.abs((word.charAt(1)-'0')-dis) != 1) {
vOrInv=false;
}
}
else if(Math.abs(word.charAt(0)-moved)>2 || Math.abs(word.charAt(0)-moved)==0) {
vOrInv=false;
}
}
moved=word.charAt(0);
dis=word.charAt(1)-'0';
}
//맨마지막위치에서 초기위치로 이동가능한지 판단
if(Math.abs(initialChar-moved)==1) {
if(Math.abs(initialDis-dis) != 2) {
vOrInv=false;
}
}
else if(Math.abs(initialChar-moved)==2) {
if(Math.abs((initialDis-dis)) != 1) {
vOrInv=false;
}
}
else if(Math.abs(initialChar-moved)>2 ||Math.abs(initialChar-moved)==0) {
vOrInv=false;
}
bw.write(vOrInv==true ? "Valid": "Invalid");
bw.flush();
}
}
'백준공부 > java' 카테고리의 다른 글
[백준] 1225번 이상한 곱셈 문제! (bronze 2 (0) | 2022.08.08 |
---|---|
[백준] 1049번 기타줄 문제! (silver 4 (0) | 2022.08.08 |
[백준] 2914번 저작권 문제! (bronze 3 (0) | 2022.08.07 |
[백준] 1316번 그룹 단어 체커 문제! (silver 5 (0) | 2022.08.07 |
[백준] 1011번 Fly me to the Alpha Centauri 문제! (gold 5 (0) | 2022.08.07 |