#include<iostream> #include<string.h> using namespace std; typedef struct node{ int x,y; }node; int n,index=0; int *a=new int[31]; bool dp[301][301]; bool p[301][301][8][31]; //(x,y,lens,direction,times) //direction 0 1 2 3 4 5 6 7 // left-up up right-up right right-down down left-down left node sign(node start,int lens,int direction) } last.x=start.x-lens;last.y=start.y+lens; } else if(direction==1) } last.x=start.x;last.y=start.y+lens; } else if(direction==2) } last.x=start.x +lens;last.y=start.y+lens; } else if(direction==3) } last.x = start.x+lens;last.y = start.y; } else if(direction==4) } last.x=start.x+lens;last.y = start.y -lens; } else if(direction==5) } last.x=start.x;last.y=start.y-lens; } else if(direction==6) } last.x=start.x-lens;last.y=start.y-lens; } else if(direction==7) } last.x=start.x-lens;last.y=start.y; } return last; } void dfs(node start,int direction,int times) int main() return 0; }