結果

問題 No.240 ナイト散歩
ユーザー misora192
提出日時 2020-07-10 12:14:01
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 794 bytes
コンパイル時間 1,671 ms
コンパイル使用メモリ 172,440 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-10-10 05:29:27
合計ジャッジ時間 2,865 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i,n) for(int i=(0);i<(n);i++)

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;

template<class T> bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T> bool chmin(T &a, const T &b) { if (a>b) { a=b; return 1; } return 0; }

set<pii> st;

int dr[8] = {1, 2, 1, 2, -1, -2, -1, -2};
int dc[8] = {2, 1, -2, -1, 2, 1, -2, -1};

void dfs(int r, int c, int d){
	st.insert({r, c});
	if(d == 3) return;

	rep(i, 8){
		int nr = r + dr[i];
		int nc = c + dc[i];
		dfs(nr, nc, d+1);
	}
}

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);

	dfs(0, 0, 0);
	int s, t;
	cin >> s >> t;

	if(st.count({s, t}) == 1){
		cout << "YES" << endl;
	}else{
		cout << "NO" << endl;
	}
}
0