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

📄 p1493.cpp

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

const   int     change [16] = { '8' , '9' , 'a' , 'b' , 'c' ,'d' ,'e' ,'f' , '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' }; 

char    ch;
int     N;
int     b [10000];

main ()
{
       
        int     i , j , tmp , sum;

        while ( scanf ( "%d" , &N ) != EOF ) {

                for ( sum = i = 0; i < N; i ++ ) {
                        tmp = 0;
                        while ( scanf ( "%c" , &ch ) , !isxdigit ( ch ) );
                        tmp = ch >= '0' && ch <= '9' ? ch - '0' : ch - 'A' + 10;
                        while ( scanf ( "%c" , &ch ) , !isxdigit ( ch ) );
                        tmp <<= 4;
                        tmp += ch >= '0' && ch <= '9' ? ch - '0' : ch - 'A' + 10;
                        tmp -= sum;
                        if ( tmp > 7 ) b [i] = 7; else
                        if ( tmp < -8 ) b [i] = -8; else
                                b [i] = tmp;
//                        printf ( "%d %d %d\n" , tmp , sum , b [i] );

                        sum += b [i];
                }
                        printf ( "%d\n" , N >> 1 );
                        for ( i = j = 0; i < N; i ++ ) {
                                printf ( "%c" , change [b [i] + 8] );
                                if ( i & 1 )
                                        if ( ++ j == 8 ) j = 0 , printf ( "\n" );
                                                else if ( i < N - 1 ) printf ( " " );
                        }
                        if ( j ) printf ( "\n" );
        }

//        system ( "pause" );
}
 

⌨️ 快捷键说明

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