16进制转化8进制---map
#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的更多相关文章
- 《N诺机试指南》(五)进制转化
进制转化类题目类型: 代码详解及注释解答: //进制转化问题 #include <bits/stdc++.h> using namespace std; int main(){ // 1 ...
- SQLSERVER 16进制转10进制
原码.补码.反码参考: http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html 进制转换参考: http://ww ...
- js模拟栈---进制转化。十进制转任意进制进制,任意进制转十进制
var Stack = (function(){ var items = new WeakMap(); //先入后出,后入先出 class Stack{ constructor(){ items.se ...
- 16进制转10进制 HDU-1720
A+B Coming Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- python数据结构:进制转化探索
*********************************第一部分*************************************************************** ...
- SQLSERVER 16进制与10进制转换
最近工控项目中遇到的16进制与10进制转换,在.NET中比较容易实现,在SQLSERVER中发现没有直接的转换,尤其是出现超出范围的long负数,即无符号64位整数在sqlserver中的存储.网上找 ...
- delphi 中字符串与16进制、10进制转换函数
//字符串转成16进制代码function strToHexStr(str:string):string;varc:char;ss:string;i:integer;beginwhile str& ...
- 【风马一族_C】进制转化
#include "stdio.h" #include "Math.h" #define number 50 //设置数组的长度 int num10; //十进 ...
- java中16进制转换10进制
java中16进制转换10进制 public static void main(String[] args) { String str = "04e1"; String myStr ...
随机推荐
- phpstorm快捷键大全
前言:这段时间换了编辑器,所以挺多命令也改变了 转载来自:https://www.jianshu.com/p/ffb24d61000d?utm_campaign=maleskine&utm_c ...
- 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 ...
- CSS iconfont阿里巴巴矢量图库在开发中实战使用
前言 项目开发中,是避免不了使用小图标的,那么国内比较好用的图标网站当属iconfont了,下面我们将详细介绍如何使用. iconfont选择所需图标 1.iconfont官网 2.把所需要的添加进入 ...
- 如何使用多数据源,同时使用jpa和jdbctemplate
spring: datasource: first: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://xx.xx.xx.x ...
- 简单管理员权限与几个常用的PHP 常用函数,in_array(),explode(),implode(),join(),str_replace()
先把今天要用的几个函数罗列出来: //explode()转换成数组,implode()转化成字符串 explode("分隔符",需要被分割的字符串或变量) $priv=" ...
- shell 批量检测远程端口
[DNyunwei@YZSJHL24-209 li]$ cat port.sh #!/bin/bash # ip=`cat iplist` for i in $ip;do port=`ssh -t $ ...
- JAVA进阶11
间歇性混吃等死,持续性踌躇满志系列-------------第11天 1.ArrayList package cn.intcast.demo11; import java.util.ArrayList ...
- 版本控制工具 - Git
版本控制工具 - Git 安装完成后,打开Git Bash,这是一个命令行工具,用于操作仓库和仓库的文件.你可以通过命令将已经存在的项目变成仓库,也可以重新创建一个新项目再通过命令将其变成仓库,还可以 ...
- 34. Find First and Last Position of Element in Sorted Array
1. 原始题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在 ...
- 1.arm的linux系统搭建
从裸板到系统 一般是CPU内部有启动代码,如nuvoton的nuc900系列的芯片内部就有ibr程序,来控制启动过程,在usb启动时负责加载usb驱动,这样在pc端就可以识别到usb设备了,然后通过t ...