5 条题解

  • 0
    @ 2025-8-29 2:05:20

    555

    • 0
      @ 2025-8-29 2:05:07

      555

      • 0
        @ 2025-3-19 13:32:31
        #include<bits/stdc++.h>
        using namespace std;
        int a[101][101];
        queue<int> q;
        void d() {
        	int n=q.front();
        	q.pop();
        	q.push(n);
        }
        int main() {
        	int m;
        	cin>>m;
        	for(int i=1; i<=m; i++) {
        		int x;
        		cin>>x;
        		q.push(x);
        		cout<<x<<" ";
        	}
        	cout<<endl;
        	for(int i=1; i<=m; i++) { 
        	d(); 
        		for(int j=1; j<=m; j++) {
        			a[i][j]=q.front();
        			d();
        		}
        
        	}
        	for(int i=1; i<m; i++) {
        		for(int j=1; j<=m; j++) {
        			cout<<a[i][j]<<" ";
        		}
        		cout<<endl;
        	}
        	return 0;
        }
        
        
        • 0

          本题关键为注意到二维数组第i行第j列为所输入原数组的第i+j-1项(i+j-1 <= m时),

          i+j-1>m是发现其有周期为m,故将i+j-1不断做**-m的操作直到其小于等于m**;

          代码如下:

          #include<bits/stdc++.h>
          using namespace std;
          int a[10010],p[100][100];
          int main()
          {
              int m,f;
              cin>>m;
              for(int i=1;i<=m;i++)
              {
                  cin>>a[i];
              }
              for(int i=1;i<=m;i++)
              {
                  for(int j=1;j<=m;j++)
              {
                  f=i+j-1;
                  if(f<=m)
                  {
                      p[i][j]=a[f];
                  }
                  else
                  {
                      while(f>m)
                      {
                          f-=m;
                      }
                      if(f<=m)
                      {
                          p[i][j]=a[f];
                      }
                  }
              }
              }
              for(int i=1;i<=m;i++)
              {
                  for(int j=1;j<=m;j++)
                  {
                      cout<<p[i][j]<<' ';
                  }
                  cout<<'\n';
              }
              return 0;
          }
          
          • 0
            @ 2024-12-21 13:06:23

            #include<bits/stdc++.h> using namespace std; int a[1000000]; int zhuan(int a[10000],int k,int n) {

            } int main() { int n,j; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl; for(int k=1;k<=n-1;k++) { j=a[0]; for(int i=1;i<n;i++) a[i-1]=a[i]; a[n-1]=j; for(int i=0;i<n;i++) { cout<<a[i]<<" "; } cout<<endl; } return 0; }

            • 1

            信息

            ID
            128
            时间
            1000ms
            内存
            256MiB
            难度
            6
            标签
            递交数
            23
            已通过
            11
            上传者