【每日一题】 UVA - 213 Message Decoding 模拟解码+读入函数+阅读题
2024-10-12 21:29:28
题意:阅读理解难度一道比一道难orz。手摸了好久样例
题解:
读入:大循环用getline读入header顺便处理一下,
里面再写两重循环,外层一次读三个串,内层一次读num个串。
之后就查表,线性输出即可。
关于判断11111,我用了换底公式:log(id + 1) / log(2) == num + 1 && pow(2, log(id + 1) / log(2))
关于读入,我写了个getnchar的函数,封装一下getchar()
虽然是final模拟(签到orz)题,码量不大嘛
#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<stdio.h>
#include<algorithm>
#include<set>
#include<bitset>
#include<map>
using namespace std; #define rep(i,j,k) for(int i = (int)j;i <= (int)k;i ++)
#define per(i,j,k) for(int i = (int)j;i >= (int)k;i --)
#define debug(x) cerr<<#x<<" = "<<(x)<<endl
#define mmm(a,b) memset(a,b,sizeof(a))
#define pb push_back
#define eps 1e-7 typedef long long ll;
const int maxn = 1e5 + ;
const ll mod = 1e9 + ;
//map<int, char> mmp;
char mmp[][]; string line;
void match(string s) {
int len = s.length();
int num = , id = ;
int val = ;
rep(i, , len - ) {
mmp[num][id] = s[i];
id++;
if (log(id + ) / log()==num+&&pow(, log(id + ) / log()) == id + )id = , num++;
}
}
int getnchar(int n) {
int cnt = n;
int now=;
while (cnt--) {
char c = getchar();
if (c == '\n') { cnt++; continue; }
now *= ;
now += c- '';
}
return now;
} int main()
{
while (getline(cin, line)) {
mmm(mmp, ); match(line);
int num;
while (num=getnchar()) {
num--;
while ()
{
int id= getnchar(num+);
if (log(id + ) / log() == num + && pow(, log(id + ) / log()))break;
cout << mmp[num][id];
}
}
cout << endl; getchar();
}
}
/*
TNM AEIOU
0010101100011
1010001001110110011
11000
$#**\
0100000101101100011100101000 TNM AEIOU
001 0T 1
011 000A 111
010 00N 10' ' 01M 11
011 001E
111 000 TAN ME 0T, 00N, 01M, 10' ', 000A, 001E, 010I, 011, 100, 101, 110, 0000, 0001
*/
最新文章
- 启用Servlet 3.0新特性——注解支持
- mac上运行appium提示错误Encountered internal error running command 解决办法
- wpf listbox 内的内容显示问题,需要设置里面的itemsPresenter
- RW-50004 While Running adrunfmw during EBS 12.2 Installation
- Java算法-堆排序
- IT痴汉的工作现状18-思维定式
- 学习window系统下的注册表
- Makefile中的变量和shell变量
- [UOJ UR#16]破坏发射台
- BZOJ 1257 - 余数之和 - [CQOI2007]
- 前端基础之 html
- git提示error setting certificate verify locations以及fatal: unable to access 的解决办法
- Leetcode 1-10
- 有效运维的 on-call 机制
- 总结TCP为什么三次握手四次挥手
- zoj4110 Strings in the Pocket(manacher)
- 从小白到使用antd+react+react-router+issue+es6搭建博客
- 清空select标签中option选项的3种不同方式
- 使用vue-cli快速搭建大型单页应用
- allegro对齐操作
热门文章
- Atitit 数据库表文档生成解决方案
- 《深入应用C++11:代码优化与工程级应用》勘误表
- 【iCore1S 双核心板_ARM】例程四:USART通信实验——通过命令控制LED
- Public key for ambari-server-2.4.2.0-136.x86_64.rpm is not installed 安装ambari报错总结
- Python fcntl 与 signal 模块使用
- CAS (15) — CAS 线上环境 Ehcache Replication 的非稳定重现错误 java.util.ConcurrentModificationException
- Unity5 AssetBundle系列——基本流程
- [Hinton] Neural Networks for Machine Learning - Basic
- Eclipse常用的几个快捷键
- traff.sh