๋ฌธ์
1331๋ฒ: ๋์ดํธ ํฌ์ด
๋์ดํธ ํฌ์ด๋ ์ฒด์คํ์์ ๋์ดํธ๊ฐ ๋ชจ๋ ์นธ์ ์ ํํ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํ๋ฉฐ, ๋ง์ง๋ง์ผ๋ก ๋ฐฉ๋ฌธํ๋ ์นธ์์ ์์์ ์ผ๋ก ๋์์ฌ ์ ์๋ ๊ฒฝ๋ก์ด๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋์ดํธ ํฌ์ด์ ํ ์์ด๋ค. ์์์ด๋ 6×
www.acmicpc.net
์ฝ๋
#include <iostream>
using namespace std;
int map[6][6];
int visited[6][6];
int dx[8] = {-1,-1,1,1,-2,-2,2,2};
int dy[8] = {-2,2,-2,2,-1,1,-1,1};
char check_alpha(char c){
if(c=='A') return 0;
if(c=='B') return 1;
if(c=='C') return 2;
if(c=='D') return 3;
if(c=='E') return 4;
if(c=='F') return 5;
return 0;
}
int check_num(int i){
if(i==6) return 0;
if(i==5) return 1;
if(i==4) return 2;
if(i==3) return 3;
if(i==2) return 4;
if(i==1) return 5;
return 0;
}
bool valid(int before_y, int before_x, int now_y, int now_x){
for(int i=0; i<8; i++){
int ny = before_y + dy[i];
int nx = before_x + dx[i];
if(nx==now_x && ny==now_y) return true;
}
return false;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int start_y, start_x;
for(int i=0; i<36; i++){
string inp; cin>>inp;
int before_y, before_x;
char c = inp[0];
int y = check_num(inp[1]-'0');
int x = check_alpha(c);
if(i==0){
before_y = y;
before_x = x;
start_y = y;
start_x = x;
continue;
}
if(i==35){
if(visited[y][x]||!valid(start_y, start_x, y,x)){
cout<<"Invalid";
return 0;
}
}
if(!visited[y][x]){
if(valid(before_y, before_x, y,x)){
visited[y][x] = 1;
before_y = y;
before_x = x;
}
else{
cout<<"Invalid";
return 0;
}
}
else{
cout<<"Invalid";
return 0;
}
}
cout<<"Valid";
ํ์ด
"๋์ดํธ ํฌ์ด๋ ์ฒด์คํ์์ ๋์ดํธ๊ฐ ๋ชจ๋ ์นธ์ ์ ํํ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํ๋ฉฐ, ๋ง์ง๋ง์ผ๋ก ๋ฐฉ๋ฌธํ๋ ์นธ์์ ์์์ ์ผ๋ก ๋์์ฌ ์ ์๋ ๊ฒฝ๋ก์ด๋ค."
์ฐจ๊ทผ์ฐจ๊ทผ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ฐ๋ผ๊ฐ๋ฉด์ ๊ตฌํํ๋ฉด ๋๋ ๋ฌธ์ ์ ๋๋ค. ๋จผ์ ์ฒด์ค ๋ง์ ์ ๋ ฅ ์์น๊ฐ 2์ฐจ์ ๋ฐฐ์ด์ ์ด๋ ์ขํ์ธ์ง ๊ณ์ฐํ์๊ณ , ํ์ฌ ๋์ ์์น๊ฐ ์ด์ ์ ๋์ ์์น์์ ์ด๋ํ ์ ์๋ ๊ณณ์ธ์ง๋ฅผ validํจ์๋ฅผ ํตํด์ ํ๋ณํ์ต๋๋ค. ๋ํ ์ ํํ ๋ชจ๋ ์นธ์ ํ ๋ฒ์ฉ๋ง ๋ฐฉ๋ฌธํด์ผ ํ๊ธฐ ๋๋ฌธ์ visited ๋ฐฐ์ด์ ํตํด ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๋ฅผ ํ์๊ณ , ๋ง์ง๋ง์ผ๋ก ๋ฐฉ๋ฌธํ๋ ์ง์ ์ผ ๊ฒฝ์ฐ ์ ์ผ ์ฒ์ ์ง์ ๊ณผ ๋น๊ตํ์ฌ validํจ์์์ ํ๋ณํ์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 2493๋ฒ - ํ (0) | 2022.06.03 |
---|---|
[๋ฐฑ์ค,c++] 2800๋ฒ - ๊ดํธ ์ ๊ฑฐ (0) | 2022.06.03 |
[๋ฐฑ์ค,c++] 17141๋ฒ - ์ฐ๊ตฌ์ 2 (0) | 2022.05.27 |
[๋ฐฑ์ค,c++] 1268๋ฒ - ์์ ๋ฐ์ฅ ๊ตฌํ๊ธฐ (0) | 2022.05.07 |
[๋ฐฑ์ค,c++] 17829๋ฒ - 222-ํ๋ง (0) | 2022.04.30 |
[๋ฐฑ์ค,c++] 1932๋ฒ - ์ ์ ์ผ๊ฐํ (0) | 2022.04.04 |
๋๊ธ