题目地址:
用一个三维数组来存贮要表示的矩阵,先画几个特例找规律,记住这个N是倒的...
代码:
#include#include using namespace std;char p[11][11][11];int main(){ for(int i=1;i<11;i++) for(int j=1;j<11;j++) for(int k=1;k<11;k++) p[i][j][k]=' '; int cnt=0; for(int i=3;i<=10;i++) { for(int j=1;j<=3*i-2;j++) { if(j<=i) { p[i][j][1]=char('a'+cnt%26); } else if(j<=2*i-2) { p[i][2*i-j][j-i+1]=char('a'+cnt%26); } else { p[i][j-2*i+2][i]=char('a'+cnt%26); } cnt++; } } for(int i=3;i<=10;i++) { for(int j=1;j<=i;j++) { for(int k=1;k<=i;k++) cout<
小白书上有一题蛇形数组输出,顺便写了一下
代码:
#include#include #include using namespace std;int a[100][100];bool vis[100][100];void init(){ memset(vis,0,sizeof(vis));}int main(){ int n; while(cin>>n) { init(); int i,j; i=0;j=0; int way=0; int count=0; while(count =0&&!vis[i][j-1]) j--; else way=(way+1)%4;; } else { if(i-1>=0&&!vis[i-1][j]) i--; else way=(way+1)%4; } } for(int i=0;i