如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

URAL/1319

来自"NOCOW"

跳转到: 导航, 搜索
#include<stdio.h>
int main()
{
    int n,a,b,i,j;
    scanf("%d",&n);
    a=int((1+n*n)/2.0-n/2+0.5);
    for (i=1;i<=n;i++){
        printf("%d ",a);
        b=a;
        for (j=n-i+1;j<=n-1;j++){
            b-=j;
            printf("%d ",b);
         }
        for (j=n-1;j>=i;j--){
          b-=j;
          printf("%d ",b);
         }
        printf("\n");
        a=a+n-i+1;
     }
    return 0;
}
 
//楼下的同学还串我,我不用数组AC,rzhpp失败
#include<stdio.h>
int a[101]={0};
int main()
{
    int i,j,n,x;
    scanf("%d",&n);
    x=n*(n-1)/2+1;
    a[1]=x;
    for(i=1;i<=n;i++)
    {
       if(i!=1)a[i]=a[i-1]+1;
       x=n-1;
       for(j=i-1;j>0;j--)
       {
          a[j]=a[j+1]+x;
          x--;
       }
       x=n-1;
       for(j=i+1;j<=n;j++)
       {
          a[j]=a[j-1]-x;
          x--;
       }
       for(j=1;j<=n;j++)
       printf("%d ",a[j]);
       printf("\n");
    }
    return 0;
}
//by rzhpp


#include<stdio.h>
 
int main()
{
    int n,i,j,k;
    int v[101][101];
    scanf("%d",&n);
    k=0;
    for(i=2;i<=2*n;i++)
            if(i<(n+2))
            {
                for(j=1;j<i;j++)
                    {
                        k+=1;
                        v[j][i-j]=k;
                    }
            }
            else
            {
                for(j=i-n;j<n+1;j++)
                    {
                        k+=1;
                        v[j][i-j]=k;
                    }
            }
    for(i=1;i<n+1;i++)
        {
            for(j=n;j>0;j--)
                printf("%d ",v[i][j]);
            printf("\n");
        }
    return 0;
}
program t1319;
var
  h:array [1..100,1..100] of integer;
  n,a,b,c,d,i,j,l,k:integer;
begin
  readln(n);a:=1;i:=1;j:=n;h[n,1]:=n*n;
  for l:=1 to n*n-1 do
  begin
    h[i,j]:=a;
    if i=1 then b:=j;
    if j=n then c:=i;
    if (i=n)or(j=n) then
    begin
      if j=n then
      begin
        i:=1;
        j:=b-1;
        if j=0 then begin i:=2;j:=1; end;
      end;
      if i=n then
      begin
        j:=1;
        for k:=1 to n do
        if h[k,1]=0 then begin i:=k; break; end;
        if i=0 then i:=n;
      end;
    end
    else begin inc(i);inc(j); end;
    inc(a);
  end;
  for i:=1 to n do
  for j:=1 to n do
  begin
    if j=n then writeln(h[i,j])
    else write(h[i,j],' ');
  end;
end.
program P1319;
  const
    dir:array[0..1,0..1]of longint=((0,-1),(1,0));
    maxn=100;
  var
    ma:array[0..maxn+1,0..maxn+1]of longint;
    q:array[0..maxn*maxn*2,0..1]of longint;
    ff,rr,n,i,j,x,y:longint;
  begin
    readln(n);
    for i:=0 to n+1 do
      begin
        ma[i][0]:=maxlongint;
        ma[n+1][i]:=maxlongint;
      end;
    ff:=1;
    rr:=1;
    q[ff][0]:=1;
    q[ff][1]:=n;
    ma[1][n]:=1;
    while rr<=ff do
      begin
        x:=q[rr][0];
        y:=q[rr][1];
        inc(rr);
        for i:=0 to 1 do
          if ma[x+dir[i][0]][y+dir[i][1]]=0
            then begin
              inc(ff);
              q[ff][0]:=x+dir[i][0];
              q[ff][1]:=y+dir[i][1];
              ma[q[ff][0]][q[ff][1]]:=ff
            end;
      end;
    for i:=1 to n do
      begin
        write(ma[i][1]);
        for j:=2 to n do
          write(' ',ma[i][j]);
        writeln;
      end;
  end.
个人工具