2 条题解

  • 1
    @ 2025-10-23 21:17:35

    AC code

    #include<queue>
    #include<stack>
    #include<cmath>
    #include<math.h>
    #include<cstdio>
    #include<string>
    #include<vector>
    #include<bitset>
    #include<stdio.h>
    #include<iomanip>
    #include<algorithm>
    #include<string.h>
    #include<iostream>
    #include<utility>
    #include<cstring>
    #include<fstream>
    using namespace std;
    typedef long long ll;
    const int N = 1e5 + 10;
    const int INF = 0x3f3f3f3f;
    int mlist[1026][10] = { 1 };
    int main()
    {
    	int m;
    	cin >> m;
    	int n = 1 << m;
    	int k = 1;
    	int half = 1;
    	while ( k <= m )
    	{
    		//TODO
    		for ( int i = 0 ; i < half ; i++ )
    		{
    			for ( int j = 0 ; j < half ; j++ )
    			{
    				mlist[i][ j + half ] = mlist[i][j] + half;
    			}
    		}
    		for ( int i = 0 ; i < half ; i++ )
    		{
    			//TODO
    			for ( int j = 0 ; j < half ; j++ )
    			{
    				//TODO
    				mlist[ i + half ][j] = mlist[i][ j + half ];
    				mlist[ i + half ][ j + half ] = mlist[i][j];
    			}
    		}
    		half *= 2;
    		k++;
    	}
    	for ( int i = 0 ; i < n ; i++ )
    	{
    		//TODO
    		for ( int j = 0 ; j < n ; j++ )
    		{
    			//TODO
    			cout << mlist[i][j] << " ";
    		}
    		cout << endl;
    	}
    	return 0;
    }
    
    • -1
      @ 2024-9-14 20:09:35
      要答案吗?看这里!
      
      #include <bits/stdc++.h>
      using namespace std;
      int n,m,a[70][70],h=1;
      int main()
      {
        scanf("%d",&m);
        n=1<<m;
        a[1][1]=1;
        for(int i=1; i<=m; i=i+1)
        {
          for(int j=1; j<=h; j=j+1)
          {
            for(int k=1; k<=h; k=k+1)a[j][k+h]=a[j][k]+h;
          }
          for(int j=1; j<=h; j=j+1)
          {
            for(int k=1; k<=h; k=k+1)
            {
              a[j+h][k]=a[j][k+h];
              a[j+h][k+h]=a[j][k];
            }
          }
          h=h*2;
        }
        for(int i=1; i<=n; i=i+1)
        {
          for(int j=1; j<=n; j=j+1)
          {
            //printf("%d ",a[i][j]);
            if(a[i][j]>9)printf("%d  ",a[i][j]);
            else printf("%d   ",a[i][j]);
          }
          printf("\n");
        }
        return 0;
      }
      
      • 1

      信息

      ID
      1663
      时间
      1000ms
      内存
      256MiB
      难度
      6
      标签
      递交数
      29
      已通过
      10
      上传者