#include "stdio.h"
#include "string.h"
#include "string"
#include "iostream"
#include "math.h"
#include "map"
#include "queue"
#include "malloc.h"
using namespace std;
map<char,string> mp; int main()
{
mp['']="";mp['']="";mp['']="";mp['']="";mp['']="";
mp['']="";mp['']="";mp['']="";mp['']="";mp['']="";
mp['A']="";mp['B']="";mp['C']="";mp['D']="";mp['E']="";
mp['F']="";
int a;
char test[];
cin >> a;
while(a--)
{ memset(test,,sizeof(test));
string b="";
cin>>test;
for(int i = ;i < strlen(test);i++)
{
b += mp[test[i]];
}
int len = b.length();
if(len%==)
b = "" + b;
else if(len%==)
b = "" + b;
int flag = ;
for(int i = ;i < b.length(); i = i + )
{
int num = *(b[i]-'')+*(b[i+]-'')+(b[i+]-'');
if(num)
flag = ;
if(flag)
cout<<num; }
cout<<endl;
}
return ;
}

但是这个跑在蓝桥杯的题目中会超时,因为map查询是对数时间复杂度放在循环中会超时

更改map后通过

#include "stdio.h"
#include "string.h"
#include "string"
#include "iostream"
#include "math.h"
#include "map"
#include "queue"
using namespace std;
map<char,string> mp; int main()
{
int a;
string test;
cin >> a;
while(a--)
{
string b="";
cin>>test;
for(int i=;i<test.length();i++)//遍历,字符串上加上每一位
{
switch(test[i])
{
case '':b+="";break;
case '':b+="";break;
case '':b+="";break;
case '':b+="";break;
case '':b+="";break;
case '':b+="";break;
case '':b+="";break;
case '':b+="";break;
case '':b+="";break;
case '':b+="";break;
case 'A':b+="";break;
case 'B':b+="";break;
case 'C':b+="";break;
case 'D':b+="";break;
case 'E':b+="";break;
case 'F':b+="";break;
default:break;
}
}
int len = b.length();
if(len%==)
b = "" + b;
else if(len%==)
b = "" + b;
int flag = ;
for(int i = ;i < b.length(); i = i + )
{
int num = *(b[i]-'')+*(b[i+]-'')+(b[i+]-'');
if(num)
flag = ;
if(flag)
cout<<num;
}
cout<<endl;
} return ;
}

16进制转化8进制---map的更多相关文章

  1. 《N诺机试指南》(五)进制转化

    进制转化类题目类型: 代码详解及注释解答:  //进制转化问题 #include <bits/stdc++.h> using namespace std; int main(){ // 1 ...

  2. SQLSERVER 16进制转10进制

    原码.补码.反码参考: http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html 进制转换参考: http://ww ...

  3. js模拟栈---进制转化。十进制转任意进制进制,任意进制转十进制

    var Stack = (function(){ var items = new WeakMap(); //先入后出,后入先出 class Stack{ constructor(){ items.se ...

  4. 16进制转10进制 HDU-1720

    A+B Coming Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  5. python数据结构:进制转化探索

    *********************************第一部分*************************************************************** ...

  6. SQLSERVER 16进制与10进制转换

    最近工控项目中遇到的16进制与10进制转换,在.NET中比较容易实现,在SQLSERVER中发现没有直接的转换,尤其是出现超出范围的long负数,即无符号64位整数在sqlserver中的存储.网上找 ...

  7. delphi 中字符串与16进制、10进制转换函数

      //字符串转成16进制代码function strToHexStr(str:string):string;varc:char;ss:string;i:integer;beginwhile str& ...

  8. 【风马一族_C】进制转化

    #include "stdio.h" #include "Math.h" #define number 50 //设置数组的长度 int num10; //十进 ...

  9. java中16进制转换10进制

    java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr ...

随机推荐

  1. phpstorm快捷键大全

    前言:这段时间换了编辑器,所以挺多命令也改变了 转载来自:https://www.jianshu.com/p/ffb24d61000d?utm_campaign=maleskine&utm_c ...

  2. JN_0004:轻松解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码

    百度访问统计代码JavaScript源码:红色加粗部分将是要修改的地方.eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"&qu ...

  3. CSS iconfont阿里巴巴矢量图库在开发中实战使用

    前言 项目开发中,是避免不了使用小图标的,那么国内比较好用的图标网站当属iconfont了,下面我们将详细介绍如何使用. iconfont选择所需图标 1.iconfont官网 2.把所需要的添加进入 ...

  4. 如何使用多数据源,同时使用jpa和jdbctemplate

    spring: datasource: first: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://xx.xx.xx.x ...

  5. 简单管理员权限与几个常用的PHP 常用函数,in_array(),explode(),implode(),join(),str_replace()

    先把今天要用的几个函数罗列出来: //explode()转换成数组,implode()转化成字符串 explode("分隔符",需要被分割的字符串或变量) $priv=" ...

  6. shell 批量检测远程端口

    [DNyunwei@YZSJHL24-209 li]$ cat port.sh #!/bin/bash # ip=`cat iplist` for i in $ip;do port=`ssh -t $ ...

  7. JAVA进阶11

    间歇性混吃等死,持续性踌躇满志系列-------------第11天 1.ArrayList package cn.intcast.demo11; import java.util.ArrayList ...

  8. 版本控制工具 - Git

    版本控制工具 - Git 安装完成后,打开Git Bash,这是一个命令行工具,用于操作仓库和仓库的文件.你可以通过命令将已经存在的项目变成仓库,也可以重新创建一个新项目再通过命令将其变成仓库,还可以 ...

  9. 34. Find First and Last Position of Element in Sorted Array

    1. 原始题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在 ...

  10. 1.arm的linux系统搭建

    从裸板到系统 一般是CPU内部有启动代码,如nuvoton的nuc900系列的芯片内部就有ibr程序,来控制启动过程,在usb启动时负责加载usb驱动,这样在pc端就可以识别到usb设备了,然后通过t ...