牛客网-腾讯2017笔试-编码
Posted 一米阳光213
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客网-腾讯2017笔试-编码相关的知识,希望对你有一定的参考价值。
题目链接:题目
#include<iostream>
using namespace std;
/**************** 分析 ******************/
// 第一步,在草稿纸上画出编码的字典顺序表
// 第二步,观察规律
// 第三步,思考策略:
// 由大到小,先确定大范围,再确定小范围,即:
// 先根据第一位字符确定前面有多少个元素,再根据第二位字符确定前面有多少个元素,再第三位,再第四位
int main(int argc, char* argv[])
/***************** Data /*****************/
char s[102];
int P[5] = 0; // P[0]表示由于第0位(即第一位)加一,所带来的 Index 的增加量
/***************** Input /*****************/
cin >> s;
/***************** Process /*****************/
P[0] = (26 * 25 + 1) * 25 + 1;
P[1] = 26 * 25 + 1;
P[2] = 26;
P[3] = 1;
/***************** Output /*****************/
int index = 0;
for (int i = 0; i < strlen(s); i++)
index += (s[i] - 'a')*P[i];
if (i>0) index++;
cout << index << endl;
return 0;
以上是关于牛客网-腾讯2017笔试-编码的主要内容,如果未能解决你的问题,请参考以下文章