思路 数据并不大,直接暴力dfs回溯就行,用一个标记数组b来表示哪个格子没被走,这个蛇得90°转向和向前就是说不能走已经走过的地方,细节见代码。 Code #include<iostream> using namespace std; typedef long long ll; const int Max = 1e6 + 5; int b[100][100]; int dp[100][100]; int sec[8][2] = { { 1,0},{ -1,0},{ 0,1},{ 0,-1} }; ll sum = 0; void dfs(int x, int y,int n) {...