22 条题解
-
7高梓晴 (ts2024stu008) LV 10 @ 2025-1-24 10:38:46
#include<bits/stdc++.h> using namesapce std; const int N=1e5+10; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int a[110][110]; int main() { int n; cin<<n; int num=1; int x,y; int f=0; x=y=1; while(num<=n*n) { a[x][y]=num++; x+=dx[f]; y+=dy[f]; if(x>n || y>n || x<1 || y<1 || a[x][y] != 0) { if(f==0) { x++,y--; } else if(f==1) { x--,y--; } else if(f==2) { x--,y++; } else x++,y++; f++; f%=4; } } for(int i=1;i<=n;i++) { for(int j = 1 ; j <= n ; j++) { cout << a[i][j] << " "; } cout << endl; } return o; }
有标志认证,属三无产品,请大家放心食用
-
22025-1-24 10:48:36@
#include<iomanip> #include<cmath> #include<cstring> using namespace std; const int N=1e2+10; const int INF=0x3f3f3f3f; int a[N][N],n,x,y,num; int main() { cin>>n; x=1,y=1; while(num<n*n) { while(y<=n&&a[x][y]==0) { a[x][y]=++num; y++; } x++,y--; while(x<=n&&a[x][y]==0) { a[x][y]=++num; x--; } x--,y--; while(y>=1&&a[x][y]==0) { a[x][y]=++num; y--; } x--,y++; while(x>=1&&a[x][y]==0) { a[x][y]=++num; x++; } x++,y++; } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } return 0; }
-
12025-1-24 11:14:11@
#include <stdio> const int N=1e10+10; const int INF=0x3f3f3f3f; int n,a[N][N]; int main(){ cin>>n; for(int i=1;i<=n;i++){ for(int j=1;i<=n;i++){ a[j][i]+=n-(n-j); cout<<a[j][i]; a[j][i+1]+=n*j; } cout<<end1; } return 0; }
-
02021-10-19 17:45:27@
#include <math.h> #include <stdio.h> #include <iostream> #include <string.h> #include <algorithm> using namespace std; int dx[] ={0,1,0,-1}; int dy[] ={1,0,-1,0}; int a[100][100]; int main() { int n; cin >> n; int num = 1; int x,y; int f = 0; x = y = 1; while(num <= n*n) { a[x][y] =num++; x += dx[f]; y += dy[f]; if(x > n || y > n || x < 1 || y < 1 || a[x][y] != 0) { if(f == 0) x++ ,y--; else if(f == 1) x--,y--; else if(f == 2) x--,y++; else x++,y++; f++; f %= 4; } } for(int i = 1; i <= n ; i++) { for(int j = 1 ; j <= n ; j++) cout << a[i][j] << " "; cout << endl; } return 0; }
-
-12025-1-24 10:46:59@
using namespace std; const int N=10+10; int a[N][N],n,x=1,y=1,num; int main() { cin>>n; while(num<n*n) { while(y<=n&&a[x][y]==0) { a[x][y]=++num; y++; } x++,y--; while(x<=n&&a[x][y]==0) { a[x][y]=++num; x++; } x--,y--; while(y>=1&&a[x][y]==0) { a[x][y]=++num; y--; } x--,y++; while(y>=1&&a[x][y]==0) { a[x][y]=++num; x--; } x++,y++; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<a[i][j]<<" "; } cout<<endl; } return 0; }
-
-12025-1-24 10:42:55@
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int a[110][110]; int main() { int n; cin>>n; int num=1; int x,y; int f=0; x=y=1; while(num<=n*n) { a[x][y]=num++; x+=dx[f]; y+=dy[f]; if(x>n || y>n || x<1 || y<1 || a[x][y] != 0) { if(f0) { x++,y--; } else if(f1) { x--,y--; } else if(f==2) { x--,y++; } else x++,y++; f++; f%=4; } } for(int i=1;i<=n;i++) { for(int j = 1 ; j <= n ; j++) { cout << a[i][j] << " "; } cout << endl; } return 0; }
-
-12025-1-24 10:42:24@
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int a[110][110]; int main() { int n; cin>>n; int num=1; int x,y; int f=0; x=y=1; while(num<=n*n) { a[x][y]=num++; x+=dx[f]; y+=dy[f]; if(x>n || y>n || x<1 || y<1 || a[x][y] != 0) { if(f0) { x++,y--; } else if(f1) { x--,y--; } else if(f==2) { x--,y++; } else x++,y++; f++; f%=4; } } for(int i=1;i<=n;i++) { for(int j = 1 ; j <= n ; j++) { cout << a[i][j] << " "; } cout << endl; } return 0; }
-
-12024-4-9 17:23:32@
老师抄我的 #include <math.h> #include <stdio.h> #include <iostream> #include <string.h> #include <algorithm> using namespace std; int dx[] ={0,1,0,-1}; int dy[] ={1,0,-1,0}; int a[100][100]; int main() { int n; cin >> n; int num = 1; int x,y; int f = 0; x = y = 1; while(num <= n*n) { a[x][y] =num++; x += dx[f]; y += dy[f]; if(x > n || y > n || x < 1 || y < 1 || a[x][y] != 0) { if(f == 0) x++ ,y--; else if(f == 1) x--,y--; else if(f == 2) x--,y++; else x++,y++; f++; f %= 4; } } for(int i = 1; i <= n ; i++) { for(int j = 1 ; j <= n ; j++) cout << a[i][j] << " "; cout << endl; } return 0; }
-
-12023-5-10 20:31:31@
#include <iostream> #include <cmath> using namespace std; const int N=10+10; int n,a[N][N],cnt,x=1,y=1; int main() { cin>>n; while(cnt<n*n) { while(y <= n && a[x][y] == 0) a[x][y++] = ++cnt; x++,y--; while(x <= n && a[x][y] == 0) a[x++][y] = ++cnt; x--,y--; while(y >= 1 && a[x][y] == 0) a[x][y--] = ++cnt; x--,y++; while(x >= 1 && a[x][y] ==0 ) a[x--][y] = ++cnt; x++,y++; } for(int i = 1;i<=n;i++) { for(int j = 1;j <= n;j++) { cout<<a[i][j]<<" "; } cout<<endl; }
return 0;
}
-
-12023-5-10 19:43:46@
#include<bits/stdc++.h> using namespace std; const int N=10+10; const int INF=0X3f3f3f3f; int n,x=1,y=1,a[N][N],cnt; int main(){ cin>>n; while(cnt<n*n) { while(y<=n && a[x][y]==0) a[x][y++]=++cnt; x++,y--; while(x<=n && a[x][y]==0) a[x++][y]=++cnt; x--,y--; while(y>=1 && a[x][y]==0) a[x][y--]=++cnt; x--,y++; while(x>=1 && a[x][y]==0) a[x--][y]=++cnt; x++,y++; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<a[i][j]<<" "; } cout<<endl; }
return 0;
}
-
-12023-5-7 18:03:20@
#include <math.h> #include <stdio.h> #include <iostream> #include <string.h> #include <algorithm> using namespace std; int dx[] ={0,1,0,-1}; int dy[] ={1,0,-1,0}; int a[100][100]; int main() { int n; cin >> n; int num = 1; int x,y; int f = 0; x = y = 1; while(num <= n*n) { a[x][y] =num++; x += dx[f]; y += dy[f]; if(x > n || y > n || x < 1 || y < 1 || a[x][y] != 0) { if(f == 0) x++ ,y--; else if(f == 1) x--,y--; else if(f == 2) x--,y++; else x++,y++; f++; f %= 4; } } for(int i = 1; i <= n ; i++) { for(int j = 1 ; j <= n ; j++) cout << a[i][j] << " "; cout << endl; } return 0; }
-
-12023-4-19 22:00:07@
左上->右上->右下->左下 这样循环
#include<iostream> #include<iomanip> #include<stdio.h> #include<math.h> #include<string> #include<string.h> #include<sstream> #include<algorithm> using namespace std; typedef long long ll; const int N=1e1+10;//开大点 const int INF=0x3f3f3f3f; int a,b,x[N][N]; int main(){ memset(x,-1,sizeof(x)); cin>>b; for(int i=1;i<=b;i++) for(int j=1;j<=b;j++)x[i][j]=0;//规划数组的活动空间 int n=1,m=0;//m一开始就自增,所以为0 while(a<=b*b){//a为每次赋值的值 while(x[n][++m]==0)x[n][m]=++a; n++;//越界了,抵消 while(x[++n][m]==0)x[n][m]=++a; m--;//同上批注 while(x[n][--m]==0)x[n][m]=++a; n--; while(x[--n][m]==0)x[n][m]=++a; m++; } for(int i=1;i<=b;i++){//输出 for(int j=1;j<=b;j++)cout<<x[i][j]<<" "; cout<<"\n"; } return 0; }
-
-22025-1-24 10:43:13@
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int a[110][110]; int main() { int n; cin>>n; int num=1; int x,y; int f=0; x=y=1; while(num<=n*n) { a[x][y]=num++; x+=dx[f]; y+=dy[f]; if(x>n || y>n || x<1 || y<1 || a[x][y] != 0) { if(f==0) { x++,y--; } else if(f==1) { x--,y--; } else if(f==2) { x--,y++; } else x++,y++; f++; f%=4; } } for(int i=1;i<=n;i++) { for(int j = 1 ; j <= n ; j++) { cout << a[i][j] << " "; } cout << endl; } return 0;
-
-22024-11-10 18:50:06@
#include<iostream> using namespace std; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int a[100][100]; int main(){ int n; cin>>n; int num=1; int x,y; int f=0; x=y=1; while(num<=n*n){ a[x][y]=num++; x+=dx[f]; y+=dy[f]; if(x>n||y>n||x<1||y<1||a[x][y]!=0){ if(f==0) x==,y--; else if(f==1) x--,y--; else if(f==2) x--,y++; else x++,y++; f++; f%=4; } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;i++){ cout<<a[i][j]<<" "; } cout<<endl; } return 0; }
-
-22024-11-10 18:33:20@
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int a[100][100]; int main() {int n; cin>>n; int num=1; int x,y; int f=0; x=y=1; while(num<=n*n){ a[x][y]=num++; x+=dx[f]; y+=dy[f]; if(x>n||y>n||x<1||y<1||a[x][y]!=0){ if(f==0) x++,y--; else if(f==1) x--,y--; else if(f==2) x--,y++; else x++,y++; f++; f%=4; } } for(int i=1;i<=n;i++){ for(int j = 1 ; j <= n ; j++) cout << a[i][j] << " "; cout << endl; } return 0; }
-
-22024-11-1 19:48:26@
#include<bits/stdc++.h> using namespace std; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int a[100][100]; int main() { int n; cin>> n; int num =1; int x,y; int f=0; x=y=1; while(num<=n*n) { a[x][y]=num++; x+=dx[f]; y+=dy[f]; if(x>n||y>n||x<1||y<1||a[x][y] !=0) { if(f0) x++,y--; else if(f1) x--,y--; else if(f==2) x--,y++; else x++,y++; f++; f %= 4; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout<<a[i][j] <<" "; cout<<endl; } return 0; } //直接AC !
-
-22024-11-1 19:47:17@
using namespace std; int dx[] = {0,1,0,-1}; int dy[] = {1,0,-1,0}; int a[100][100]; int main() { int n; cin>>n; int num=1; int x,y; int f =0; x = y =1; while(num<= n*n) { a[x][y] = num++; x += dx[f]; y += dy[f]; if(x>n||y>n||x<1||y<1||a[x][y] != 0) { if(f==0) x++,y--; else if(f==1)x--,y--; else if(f==2)x--,y++; else x++,y++; f++; f %= 4; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout <<a[i][j]<<" "; cout<<endl; } }
-
-22024-11-1 19:45:47@
-
- #include<iostream>
using namespace std; int dx[] = {0,1,0,-1}; int dy[] = {1,0,-1,0}; int a[100][100]; int main() { int n; cin>>n; int num=1; int x,y; int f =0; x = y =1; while(num<= n*n) { a[x][y] = num++; x += dx[f]; y += dy[f]; if(x>n||y>n||x<1||y<1||a[x][y] != 0) { if(f0) x++,y--; else if(f1)x--,y--; else if(f==2)x--,y++; else x++,y++; f++; f %= 4; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout <<a[i][j]<<" "; cout<<endl; }
}
-
-
-22024-11-1 19:45:23@
#include<iostream>
using namespace std; int dx[] = {0,1,0,-1}; int dy[] = {1,0,-1,0}; int a[100][100]; int main() { int n; cin>>n; int num=1; int x,y; int f =0; x = y =1; while(num<= n*n) { a[x][y] = num++; x += dx[f]; y += dy[f]; if(x>n||y>n||x<1||y<1||a[x][y] != 0) { if(f0) x++,y--; else if(f1)x--,y--; else if(f==2)x--,y++; else x++,y++; f++; f %= 4; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout <<a[i][j]<<" "; cout<<endl; }
-
-
-
-
-
-
-
-
-
- }
-
-
-
-
-
-
-
-
-
-
-22024-11-1 19:33:12@
#include<iostream> #include<algorithm> #include<math.h> #include<cstdio> #include<string.h> #include<cctype> #include<cmath> using namespace std; int main() { int n,q,num=1,i=1,j=1; cin>>n; int a[105][105]={}; q=ceil(n/2.0); for(int k=1;k<=q;k++) { i=k; for(j=k;j<=n-k+1;j++) { a[i][j]=num; num++; } j=n-k+1; for(i=k+1;i<=n-k+1;i++) { a[i][j]=num; num++; } i=n-k+1; for(j=n-k;j>=k;j--) { a[i][j]=num; num++; } j=k; for(i=n-k;i>=k+1;i--) { a[i][j]=num; num++; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<a[i][j]<<" "; } cout<<endl; } return 0; }
信息
- ID
- 1043
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- 6
- 标签
- 递交数
- 718
- 已通过
- 236
- 上传者