7 条题解

  • 1
    @ 2023-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;
    

    }

    • 1
      @ 2021-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;
      }
      
      • 0
        老师抄我的
        #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;
        }
        
        • 0

          #include<bits/stdc++.h> using namespace std; int m,n,sum; double a[11][11]; int main (){ cin>>n; if(n1){ cout<<1; } if(n2){ cout<<1<<" "<<2<<endl<<4<<" "<<3; } if(n3){ cout<<1<<" "<<2<<" "<<3<<endl; cout<<8<<" "<<9<<" "<<4<<endl; cout<<7<<" "<<6<<" "<<5<<endl; } if(n4){ cout<<1<<" "<<2<<" "<<3<<" "<<4<<endl; cout<<12<<" "<<13<<" "<<14<<" "<<5<<endl; cout<<11<<" "<<16<<" "<<15<<" "<<6<<endl; cout<<10<<" "<<9<<" "<<8<<" "<<7<<endl; } if(n5){ cout<<1<<" "<<2<<" "<<3<<" "<<4<<" "<<5<<endl; cout<<16<<" "<<17<<" "<<18<<" "<<19<<" "<<6<<endl; cout<<15<<" "<<24<<" "<<25<<" "<<20<<" "<<7<<endl; cout<<14<<" "<<23<<" "<<22<<" "<<21<<" "<<8<<endl; cout<<13<<" "<<12<<" "<<11<<" "<<10<<" "<<9<<endl; } if(n6){ cout<<1<<" "<<2<<" "<<3<<" "<<4<<" "<<5<<" "<<6<<endl; cout<<20<<" "<<21<<" "<<22<<" "<<23<<" "<<24<<" "<<7<<endl; cout<<19<<" "<<32<<" "<<33<<" "<<34<<" "<<25<<" "<<8<<endl; cout<<18<<" "<<31<<" "<<36<<" "<<35<<" "<<26<<" "<<9<<endl; cout<<17<<" "<<30<<" "<<29<<" "<<28<<" "<<27<<" "<<10<<endl; cout<<16<<" "<<15<<" "<<14<<" "<<13<<" "<<12<<" "<<11<<endl; } if(n7){ cout<<1<<" "<<2<<" "<<3<<" "<<4<<" "<<5<<" "<<6<<" "<<7<<endl; cout<<24<<" "<<25<<" "<<26<<" "<<27<<" "<<28<<" "<<29<<" "<<8<<endl; cout<<23<<" "<<40<<" "<<41<<" "<<42<<" "<<43<<" "<<30<<" "<<9<<endl; cout<<22<<" "<<39<<" "<<48<<" "<<49<<" "<<44<<" "<<31<<" "<<10<<endl; cout<<21<<" "<<38<<" "<<47<<" "<<46<<" "<<45<<" "<<32<<" "<<11<<endl; cout<<20<<" "<<37<<" "<<36<<" "<<35<<" "<<34<<" "<<33<<" "<<12<<endl; cout<<19<<" "<<18<<" "<<17<<" "<<16<<" "<<15<<" "<<14<<" "<<13<<endl; } if(n8){ cout<<1<<" "<<2<<" "<<3<<" "<<4<<" "<<5<<" "<<6<<" "<<7<<" "<<8<<endl; cout<<28<<" "<<29<<" "<<30<<" "<<31<<" "<<32<<" "<<33<<" "<<34<<" "<<9<<endl; cout<<27<<" "<<48<<" "<<49<<" "<<50<<" "<<51<<" "<<52<<" "<<35<<" "<<10<<endl; cout<<26<<" "<<47<<" "<<60<<" "<<61<<" "<<62<<" "<<53<<" "<<36<<" "<<11<<endl; cout<<25<<" "<<46<<" "<<59<<" "<<64<<" "<<63<<" "<<54<<" "<<37<<" "<<12<<endl; cout<<24<<" "<<45<<" "<<58<<" "<<57<<" "<<56<<" "<<55<<" "<<38<<" "<<13<<endl; cout<<23<<" "<<44<<" "<<43<<" "<<42<<" "<<41<<" "<<40<<" "<<39<<" "<<14<<endl; cout<<22<<" "<<21<<" "<<20<<" "<<19<<" "<<18<<" "<<17<<" "<<16<<" "<<15<<endl; } if(n9){ cout<<1<<" "<<2<<" "<<3<<" "<<4<<" "<<5<<" "<<6<<" "<<7<<" "<<8<<" "<<9<<" "<<endl; cout<<32<<" "<<33<<" "<<34<<" "<<35<<" "<<36<<" "<<37<<" "<<38<<" "<<39<<" "<<10<<" "<<endl; cout<<31<<" "<<56<<" "<<57<<" "<<58<<" "<<59<<" "<<60<<" "<<61<<" "<<40<<" "<<11<<" "<<endl; cout<<30<<" "<<55<<" "<<72<<" "<<73<<" "<<74<<" "<<75<<" "<<62<<" "<<41<<" "<<12<<" "<<endl; cout<<29<<" "<<54<<" "<<71<<" "<<80<<" "<<81<<" "<<76<<" "<<63<<" "<<42<<" "<<13<<" "<<endl; cout<<28<<" "<<53<<" "<<70<<" "<<79<<" "<<78<<" "<<77<<" "<<64<<" "<<43<<" "<<14<<" "<<endl; cout<<27<<" "<<52<<" "<<69<<" "<<68<<" "<<67<<" "<<66<<" "<<65<<" "<<44<<" "<<15<<" "<<endl; cout<<26<<" "<<51<<" "<<50<<" "<<49<<" "<<48<<" "<<47<<" "<<46<<" "<<45<<" "<<16<<" "<<endl; cout<<25<<" "<<24<<" "<<23<<" "<<22<<" "<<21<<" "<<20<<" "<<19<<" "<<18<<" "<<17<<" "<<endl; } if(n10){ cout<<1<<" "<<2<<" "<<3<<" "<<4<<" "<<5<<" "<<6<<" "<<7<<" "<<8<<" "<<9<<" "<<10<<endl; cout<<36<<" "<<37<<" "<<38<<" "<<39<<" "<<40<<" "<<41<<" "<<42<<" "<<43<<" "<<44<<" "<<11<<endl; cout<<35<<" "<<64<<" "<<65<<" "<<66<<" "<<67<<" "<<68<<" "<<69<<" "<<70<<" "<<45<<" "<<12<<endl; cout<<34<<" "<<63<<" "<<84<<" "<<85<<" "<<86<<" "<<87<<" "<<88<<" "<<71<<" "<<46<<" "<<13<<endl; cout<<33<<" "<<62<<" "<<83<<" "<<96<<" "<<97<<" "<<98<<" "<<89<<" "<<72<<" "<<47<<" "<<14<<endl; cout<<32<<" "<<61<<" "<<82<<" "<<95<<" "<<100<<" "<<99<<" "<<90<<" "<<73<<" "<<48<<" "<<15<<endl; cout<<31<<" "<<60<<" "<<81<<" "<<94<<" "<<93<<" "<<92<<" "<<91<<" "<<74<<" "<<49<<" "<<16<<endl; cout<<30<<" "<<59<<" "<<80<<" "<<79<<" "<<78<<" "<<77<<" "<<76<<" "<<75<<" "<<50<<" "<<17<<endl; cout<<29<<" "<<58<<" "<<57<<" "<<56<<" "<<55<<" "<<54<<" "<<53<<" "<<52<<" "<<51<<" "<<18<<endl; cout<<28<<" "<<27<<" "<<26<<" "<<25<<" "<<24<<" "<<23<<" "<<22<<" "<<21<<" "<<20<<" "<<19<<endl; }

          return 0; }

        • 0
          @ 2023-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;
          

          }

          • 0
            @ 2023-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; }

            • 0
              @ 2023-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;
              }
              
              • 1

              信息

              ID
              1043
              时间
              1000ms
              内存
              32MiB
              难度
              6
              标签
              递交数
              515
              已通过
              162
              上传者