zoukankan      html  css  js  c++  java
  • hdu 1987

    地址:http://acm.hdu.edu.cn/showproblem.php?pid=1987

    题意:就是1986的逆向。。。解码。

    mark:要注意的是要去掉解码出来的字符串的结尾空格。如果字符串是空串,数字和字符串之间的空格不需要去掉。

    一直PE,后来发现是去结尾空格的时候,i = len - 1写成了i = len。。。太2了。

    代码:

     1 # include <stdio.h>
     2 # include <string.h>
     3 
     4 
     5 char str[410] ;
     6 char out[25][25] ;
     7 char ss[100], ssout[110] ;
     8 int r, c ;
     9 
    10 
    11 void getstr()
    12 {
    13     int x , y , d ;
    14     int xx, yy, i  ;
    15     int tab[4][2] = {0,1,1,0,0,-1,-1,0};
    16     x = y = d = 0 ;
    17     for (i = 0 ; i < r*c ; i++)
    18     {
    19         str[i] = out[x][y] ;
    20         out[x][y] = 0 ;
    21         xx = x + tab[d][0], yy = y + tab[d][1] ;
    22         if (xx < 0 || xx >= r || yy < 0 || yy >= c || out[xx][yy] == 0)
    23         {
    24             d = (d+1)%4 ;
    25             x += tab[d][0], y += tab[d][1] ;
    26         }
    27         else x = xx, y = yy ;
    28     }
    29 }
    30 
    31 
    32 int main ()
    33 {
    34     int  i, j, T, nCase = 1 ;
    35     int val, len ;
    36     int sslen ;
    37     scanf ("%d", &T) ;
    38     while (T--)
    39     {
    40         scanf ("%d %d%s", &r, &c, str) ;
    41         for (i = 0 ; str[i] ; i++)
    42             out[i/c][i%c] = str[i] ;
    43         getstr() ;
    44         len = r*c/5 * 5 ;
    45         sslen = 0 ;
    46         for (i =0 ; i < len ; i+=5)
    47         {
    48             val = 0 ;
    49             for (j = 0 ; j < 5 ; j++) if (str[i+j] == '1')
    50                 val |= (1<<(4-j)) ;
    51             if (val > 26) continue ;
    52             if (val == 0) ss[sslen] = ' ' ;
    53             else ss[sslen] = (val-1+'A') ;
    54             ss [++sslen] = '\0' ;
    55         }
    56         for (i = sslen - 1; i >= 0 && ss[i] == ' ' ; i--)
    57             ss[i] = '\0' ;
    58         printf ("%d %s\n", nCase++, ss) ;
    59     }
    60     return 0 ;
    61 }
  • 相关阅读:
    Linux 学习
    mac 驱动
    用wubi安装ubuntu
    Eclipse安装Svn
    XML学习
    java集合类总结
    CVS学习
    [转载]java集合类总结
    Servlet学习
    JSP介绍
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/2477709.html
Copyright © 2011-2022 走看看