zoukankan      html  css  js  c++  java
  • NBUT 2013

    • here are a LCD (Liquid Crystal Display) on Ezreal's arm. The LCD is composed of liquid crystal, and the LCD is 16 lines and 48 rows. How did it work?

       

      The CPU will send a series of bytes to the LCD. A byte means to eight bits.When the LCD received the byte, it will show a page vertically. And each byte will display from bottom to top.

       

      For example, 0x01 0x9C 0xED will be shown as below:

       

      *.*
      ...
      .**
      .**
      .*.
      ..*
      ..*
      .**

      Now give you 64 bytes, you should print it to the LCD from left to right and top to bottom. 32 columns in aBig Row (containing 8 rows).

    • 输入
    • First line contains an integer T (T < 100), means the test case.
      For each case, there are 2 lines which contain 64 hexadecimal numbers, and it is less than 0xff.
    • 输出
    • For each test case, print the LCD's status.
    • 样例输入
    • 1
      01 9C ED DD 1A 2B CF CD C3 00 19 D0 5A 9F 56 13 E5 40 E5 46 E3 BD 4F A4 39 AF D8 2D 6F D4 54 36
      1C B5 3C 24 9F 85 01 75 10 4B A0 00 77 44 77 7D 3B 82 57 47 DD DA DA 61 E5 FD F7 B7 1D E5 D3 A7
      
    • 样例输出
    • *.**.****.*..*.**.*.***.**.**...
      ....***.*...****...**.*..*..*..*
      .***..**.....**.*.**.***.*.*****
      .*******..*.**.......**.*****...
      .*.**.....******.....*..*.*..***
      ..*..*..........*.*.**.***.**..*
      ..**..***..**.*.*****.*...*.***.
      .***..***..*.*..*.*.**.*.**..*..
      .*..****.*..*.***.***..*********
      ....*....*..*.*.****.**...**..**
      ******.*....****..***...******.*
      *.*.*....*.....**...***..*..*...
      ***.*..**...*.***.*.***..****.*.
      .***...*..*.*.***......*****.*.*
      .......*.*..****..*********..**.
      .*..**....*......*..***.****.***

    #include<stdio.h>
    main()
    {char x[40][40];
    char y[40][40];
    int a,b,n,i,j,m;
    scanf("%d",&n);
    for(m=0;m<n;m++)
    {
    for(i=1;i<=32;i++)
    {scanf("%x",&a);
    for(j=0;j<=7;j++)
    {if(a&(1<<j))x[j][i]='*';
    else x[j][i]='.';
    }}
    for(i=1;i<=32;i++){
    scanf("%x",&a);
    for(j=8;j<=15;j++)
    {
    if(a&(1<<(j-8)))
    x[j][i]='*';
    else x[j][i]='.';
    }
    }for(j=0;j<=7;j++)
    {
    for(i=1;i<=32;i++)
    {
    printf("%c",x[j][i]);
    }printf(" ");}
    for(j=8;j<=15;j++){
    for(i=1;i<=32;i++)
    {
    printf("%c",x[j][i]);
    }printf(" ");}
    }
    }

    注意程序的输入技巧。

    还有16进制%x输入    C

    或者cin>>hex>>n   C++

    他们保存的都是按2进制保存的

    还有1《《1就是左移一位

    0&0=0 0&1=0  1&0=0  1&1=1

  • 相关阅读:
    深入理解linux启动过程
    Oracle 12c 的新功能:模式匹配查询
    AIX 常用命令汇总
    Oracle 11g ADRCI工具使用
    AIX TL的升级和回退
    oracle redo log的维护
    202. Happy Number
    198. House Robber
    203. Remove Linked List Elements
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/alexanderone/p/3927595.html
Copyright © 2011-2022 走看看