我希望你是我独家记忆

一段永远封存的记忆,随风而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

URAL1656

Posted on 2008-11-02 13:47 Hero 阅读(172) 评论(0)  编辑 收藏 引用 所属分类: 代码如诗--ACM
 1 // 1656 C++ Accepted 0.015 129 KB URAL
 2 
 3 #include <stdio.h>
 4 #include <stdlib.h>
 5 #include <string.h>
 6 
 7 const int size = 100 ;
 8 int data[size] ;
 9 int out[size][size] ;
10 
11 int inn ;
12 
13 int cmp( const void *a, const void *b )
14 {
15     return *(int *)b - *(int *)a ;
16 }
17 
18 void input()
19 {
20     int maxi = inn * inn ;
21     forint i=1; i<=maxi; i++ )    scanf( "%d"&data[i] ) ;
22 
23     qsort( data+1, maxi, sizeof(data[1]), cmp ) ;
24     /*
25     printf( "**************************\n" ) ;
26     for( int i=1; i<=maxi; i++ ) printf( "%d\n", data[i] ) ;
27     printf( "**************************\n" ) ;
28     */
29 }
30 
31 void process()
32 {
33     int midrow = ( 1+inn ) / 2 ; int midcol = ( 1+inn ) / 2 ;
34     int pdata = 1 ;//data[]指针
35 
36     out[midrow][midcol] = data[pdata++] ;
37     forint c=midcol-1; c>=1; c-- )    out[midrow][c] = data[pdata++] ;
38     forint c=midcol+1; c<=inn; c++ )    out[midrow][c] = data[pdata++] ;
39     forint r=midrow-1; r>=1; r-- )    out[r][midcol] = data[pdata++] ;
40     forint r=midrow+1; r<=inn; r++ )    out[r][midcol] = data[pdata++] ;
41 
42     forint r=midrow-1; r>=1; r-- )
43     {
44         forint c=midcol-1; c>=1; c-- )    out[r][c] = data[pdata++] ;
45         forint c=midcol+1; c<=inn; c++ )    out[r][c] = data[pdata++] ;
46     }
47     forint r=midrow+1; r<=inn; r++ )
48     {
49         forint c=midcol-1; c>=1; c-- )    out[r][c] = data[pdata++] ;
50         forint c=midcol+1; c<=inn; c++ )    out[r][c] = data[pdata++] ;
51     }
52 
53     forint i=1; i<=inn; i++ )
54     {
55         forint j=1; j<=inn; j++ )
56         {
57             printf( "%d "out[i][j] ) ;
58         }
59         printf( "\n" ) ;
60     }
61 }
62 
63 int main()
64 {
65     while( scanf( "%d"&inn ) != EOF )
66     {
67         input() ;
68 
69         process() ;
70 
71         //output() ;
72     }
73 
74     return 0 ;
75 }

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理