1#include"../../kyopro_library/template.hpp"
11 int index(
int x,
int y) {
return x*
w+y; }
12 pair<
int,
int>
pos(
int idx) {
return {idx/
w, idx%
w}; }
13 bool in(
int x,
int y) {
return 0<=x && x<
h && 0<=y && y<
w; }
16 vector<pair<
int,
int>> ret;
17 for(
int i=0; i<4; i++) {
18 int nx=x+dx[i], ny=y+dy[i];
19 if(
in(nx
,ny
)) ret.push_back({nx,ny});
25 vector<pair<
int,
int>> ret;
26 for(
int i=0; i<2; i++) {
27 int nx=x+dx[i], ny=y+dy[i];
28 if(
in(nx
,ny
)) ret.push_back({nx,ny});
34 vector<pair<
int,
int>> ret;
35 for(
int i=0; i<8; i++) {
36 int nx=x+dx[i], ny=y+dy[i];
37 if(
in(nx
,ny
)) ret.push_back({nx,ny});
45 for(
int j=0; j<4; j++) {
46 int nx=x+dx[j], ny=y+dy[j];
55 for(
int j=0; j<2; j++) {
56 int nx=x+dx[j], ny=y+dy[j];
65 for(
int j=0; j<8; j++) {
66 int nx=x+dx[j], ny=y+dy[j];
72 bool is_even(
int x,
int y) {
return (x+y)%2==0; }
vector< pair< int, int > > around4(int x, int y)
vector< int > around4(int i)
vector< pair< int, int > > around8(int x, int y)
vector< int > around8(int i)
vector< pair< int, int > > around2(int x, int y)
vector< int > operator()(int i)
vector< pair< int, int > > operator()(int x, int y)
pair< int, int > pos(int idx)
bool is_even(int x, int y)
vector< int > around2(int i)