分治法

回型矩阵

https://ac.nowcoder.com/acm/problem/22230

画坐标时,横纵坐标不同,又a[i][j]写成a[i]了。通过分治注意范围。
#include<iostream>
using namespace std;
int a[20][20]={0};
void fun(int i,int j,int n,int t){
if(n<=0) return;
else if(n==1){
a[i][j]=t;
return;
}
for(int k=j;k<j+n-1;k++){
a[i][k]=t;
t++;
}
for(int k=i;k<i+n-1;k++){
a[k][j+n-1]=t;
t++;
}
for(int k=j+n-1;k>j;k--){
a[i+n-1][k]=t;
t++;
}
for(int k=i+n-1;k>i;k--){
a[k][j]=t;
t++;
}
fun(i+1,j+1,n-2,t);
}
int main(){
int i=0,j=0,n;//分别初始位置和大小
cin>>n;
fun(i,j,n,1);
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j];
if(j!=n-1)
cout<<" ";
}
cout<<endl;
}
return 0;
}</iostream>

全部评论

相关推荐

牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务