如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。
URAL/1319
来自"NOCOW"
< URAL
#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.