The Fourth Dimension Space

枯叶北风寒,忽然年以残,念往昔,语默心酸。二十光阴无一物,韶光贱,寐难安; 不畏形影单,道途阻且慢,哪曲折,如渡飞湍。斩浪劈波酬壮志,同把酒,共言欢! -如梦令

宁波赛区H题——hello world

5个16进制数代表一个符号,这个符号用5个竖行来表示,显然一个数字代表一竖行的信息,将那个十六进制数转换为2进制后会有8位,取前7位在适当的位置输出'#'即可!这题也可以算作一道密码破译题。

#include<iostream>
using namespace std;

char s[100][500];
char t[10];
void trans(int n)
{
    
int p=0;
    memset(t,
'0',sizeof(t));
    
while(n!=0)
    
{
        p
++;
        
if(n%2==1)
            t[p]
='1';
        n
/=2;
    }


}


int main()
{
    
int testcase;
    
int i,j;
    
int k;
    
int n;
    scanf(
"%d",&testcase);
    
for(i=1;i<=testcase;i++)
    
{
        memset(s,
' ',sizeof(s));
        scanf(
"%d",&n);
        
for(j=1;j<=n;j++)
        
{

            
            
for(k=1;k<=5;k++)
            
{

                
int num;
                scanf(
"%x",&num);
                trans(num);
                
int l;
                
for(l=1;l<=7;l++)
                
{

                    
if(t[l]=='1')
                        s[
8-l][(j-1)*6+k]='#';

                }

            }

        }

        printf(
"Case %d:\n\n",i);
        
for(j=7;j>=1;j--)
        
{

            
for(k=1;k<=6*n-1;k++)
            
{

                printf(
"%c",s[j][k]);
            }

            printf(
"\n");
        }

        printf(
"\n");

    }

    
return 0;


}

posted on 2009-09-12 19:06 abilitytao 阅读(1190) 评论(1)  编辑 收藏 引用

评论

# re: 宁波赛区H题——hello world[未登录] 2009-09-13 14:48 expter

没描述清楚。。。  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理