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

URAL/1313

来自"NOCOW"

跳转到: 导航, 搜索
#include<stdio.h>
 
int main()
{
    int n,i,j;
    scanf("%d",&n);
    int v[101][101];
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            scanf("%d",&v[i][j]);
    for(i=2;i<=n+n;i++)
        if(i<(n+2))
        {
            for(j=1;j<i;j++)
                printf("%d ",v[i-j][j]);
        }
        else
        {
            for(j=i-n;j<n+1;j++)
                printf("%d ",v[i-j][j]);
        }
    return 0;
}
//程序写得比较失败
VAR
  a:array [1..100,1..100] of longint;
  i,j,n,x,y:longint;
BEGIN
  readln(n);
    for i:=1 to n do
      BEGIN
        for j:=1 to n do read(a[i,j]);
        readln;
      END;
  i:=1;
  j:=1;
    if n=1 then
      BEGIN
        writeln(a[1,1]);
        halt;
      END
    else write(a[1,1],' ');
    repeat
      i:=j+1;
      j:=1;
      write(a[i,j],' ');
        repeat
          dec(i);
          inc(j);
          write(a[i,j],' ');
        until i=1;
    until j=n;
  i:=1;
    repeat
      j:=i+1;
      i:=n;
        if (i=n) and (j=n) then
          BEGIN
            writeln(a[i,j]);
            break;
          END
        else write(a[i,j],' ');
        repeat
          dec(i);
          inc(j);
          write(a[i,j],' ')
        until j=n;
    until false;
END.
//from lzoi_ys
//-_=......LS确实比较失败......
//其实这个可以用bfs做的......想想看
program Project1;
  const
    dir:array[0..1,0..1]of longint=((1,0),(0,1));
    maxn=100;
  var
    ma:array[0..maxn,0..maxn]of longint;
    ha:packed array[0..maxn+1,0..maxn+1]of boolean;
    q:array[0..maxn*maxn*2,0..1]of longint;
    n,i,j,ff,rr,x,y:longint;
  begin
    readln(n);
    for i:=1 to n do
      for j:=1 to n do
        read(ma[i][j]);
    for i:=1 to n+1 do
      begin
        ha[n+1][i]:=true;
        ha[i][n+1]:=true;
      end;
    ff:=1;
    rr:=1;
    q[1][0]:=1;
    q[1][1]:=1;
    ha[1][1]:=true;
    while rr<=ff do
      begin
        x:=q[rr][0];
        y:=q[rr][1];
        inc(rr);
        for i:=0 to 1 do
          if not ha[x+dir[i][0]][y+dir[i][1]]
            then begin
              inc(ff);
              q[ff][0]:=x+dir[i][0];
              q[ff][1]:=y+dir[i][1];
              ha[x+dir[i][0]][y+dir[i][1]]:=true;
            end;
      end;
    for i:=1 to ff do
      begin
        write(ma[q[i][0]][q[i][1]]);
        if i<ff
          then write(' ')
          else writeln;
      end;
  end.
#include <cstdio>
 
int a[105][105] ;
int main()
{
	int n , i , j;
	while(scanf("%d",&n)!=EOF)
	{
		for(i = 1 ; i <= n ; i++)
			for(j = 1 ; j <= n ; j++)
				scanf("%d",&a[i][j]);
		printf("%d ",a[1][1]);
		for(i = 2 ; i <= n ; i++)
		{
			int t = i ;
			for(j = 1 ; j <= i ; j++)
				printf("%d ",a[t--][j]);
		}
 
		for(i = 2 ; i <= n ; i++)
		{
			int t = i ;
			for(j = n ; j >= i ; j--)
				printf("%d ",a[j][t++]);
		}
	}
	return 0;
}
#include<stdio.h>
int a[300][300];
int main()
{
	int i,j,n,x;
	scanf("%d",&n);
    x=-1;
    for(i=1;i<=n;i++)
    {
       x++;
	   for(j=1;j<=n;j++){
	   	 a[x+j][0]++;
	     scanf("%d",&a[x+j][a[x+j][0]]);
	   }
    }
    for(i=1;i<=2*n-1;i++)
      for(j=a[i][0];j>0;j--)
        printf("%d ",a[i][j]);
}
//by rzhpp
个人工具