这题谁出的
原题链接:333.矩阵填数G2023-08-21 09:16:45
发布于:广东
为了美观,结果对了所有样例,提交仅剩一堆PE。
在输出样例就已经格式错误,误导了别人走了错误的路。
搜索方向的不确定,让人觉得做这题的人像有病。
package.json的两次尝试,将其他的挑战者降智,不省人事。
(如果有大佬写出来了就当我没说)以下55分代码
#include <iostream>
using namespace std;
int dx[4] = {-1, 0, 1, 0};
int dy[4] = {0, 1, 0, -1};
int ddx[4] = {0,1,0,-1};
int ddy[4] = {-1,0,1,0};
int a[20][20], vis[20][20];
int main() {
int n, x, y, f, dir = 0, num = 1, c = 0;
cin >> n >> x >> y >> f;
if(f == -1){
for(int i = 0; i < 4; i++){
dx[i] = ddx[i];
dy[i] = ddy[i];
}
}
a[x][y] = vis[x][y] = num++;
while(c <= 4){
int nx = x + dx[dir], ny = y + dy[dir];
if(vis[nx][ny] || nx < 1 || nx > n || ny < 1 || ny > n){
dir ++;
c++;
}else{
c = 0;
a[nx][ny] = num++;
vis[nx][ny] = 1;
x = nx, y = ny;
}
dir %= 4;
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
printf("%3d",a[i][j]);
}
cout << endl;
}
return 0;
}
全部评论 2
你要考研啊
2024-10-13 来自 浙江
0你没把所有的情况都列举出来
2024-06-19 来自 广东
0
有帮助,赞一个