⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p1324.cpp

📁 高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程
💻 CPP
字号:
#include <stdio.h>
#include <string.h>

int     N;
char    Answer [100] [61];
int     len [100];
char    data [100] [61] , temp [61];

void    sort ()
{
        int     i , j , wide , many , t;
        int     maxlen;

        for ( maxlen = 0 , i = 0; i < N; i ++ ) {
                len [i] = strlen ( data [i] );
                if ( len [i] > maxlen ) maxlen = len [i];
        }
        
        for ( i = 0; i < N; i ++ )
                for ( j = 0; j < N; j ++ )
                        if ( strncmp ( data [i] , data [j] , 60 ) < 0 ) {
                                strncpy ( temp , data [i] , 60 );
                                strncpy ( data [i] , data [j] , 60 );
                                strncpy ( data [j] , temp , 60 );
                                t = len [i]; len [i] = len [j]; len [j] = t;
                        }

        maxlen += 2; wide = 62 / maxlen; many = ( N - 1 ) / wide + 1;

        memset ( Answer , ' ' , sizeof ( Answer ) );

        t = 0;
        for ( j = 0; j < wide; j ++ ) {
                for ( i = 0; i < many; i ++ ) if ( t < N ) {
                        memcpy ( Answer [i] + j * maxlen , data [t] , len [t] );
                        t ++;
                }
        }
        printf ( "------------------------------------------------------------\n" );

        for ( i = 0; i < many; i ++ ) {
                for ( j = 59; Answer [i] [j] == ' '; j -- );
                Answer [i] [j + 1] = 0;
                printf ( "%s\n" , Answer [i] );
        }
}

main ()
{
        freopen ( "p.in" , "r" , stdin );
        freopen ( "p.out" , "w" , stdout );
        
        int     i;
        while ( scanf ( "%d" , &N ) != EOF ) {
                for ( i = 0; i < N; i ++ ) scanf ( "%s" , data [i] );
                sort ();
        }
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -