uva_213_Message Deocding
来源:互联网 发布:knife party知乎 编辑:程序博客网 时间:2024/05/22 06:55
刘汝佳的解法思路:
定义一个8行258(1<<8)列的全局整形数组,用于存放原始的密码。
方法:编写一个函数,用getchar()将读到字符以整形的形式储存到数组中
然后编写一个函数读长度,根据这个输出数组中的值
代码:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>int code[8][1<<8];int readchar(){ for(;;){ int ch=getchar(); if(ch!='\n'&&ch!='\r') return ch; }}int readint(int c){ int v=0; while(c--) v=v*2+readchar()-'0'; return v;}int readcodes(){ int len; int i; memset(code,0,sizeof(code)); code[1][0]=readchar(); for(len=2;len<=7;len++){ for(i=0;i<(1<<len)-1;i++){ int ch=getchar(); if(ch==EOF) return 0; if(ch=='\n'||ch=='\r') return 1; code[len][i]=ch; } } return 1;}int main(){ while(readcodes()){ for(;;) { int len=readint(3); if(len==0) break; for(;;){ int v=readint(len); if(v==(1<<len)-1) break; putchar(code[len][v]); } } putchar('\n'); } return 0;}
0 0
- uva_213_Message Deocding
- mongodb 数据库连接
- HDU 5186 || 模拟map
- 设计模式—工厂方法
- 投资大佬邱国鹭 首曝22年股市投研秘籍
- 关于用opencv显示图像的问题
- uva_213_Message Deocding
- 大数阶乘求位数
- InstallShield Limited Edition for Visual Studio 2013 图文教程
- Android FoldingLayout 折叠布局 原理及实现(一)
- 基于 JDK 的动态代理-佟刚老师《Spring4视频教程》学习笔记(16)
- 一个简单的时间片轮转多道程序内核操作系统工作流程
- 接口设计实例
- UVA - 147 - Dollars (动态规划)
- 一种排序