HDU4690_EBCDIC 两种做法
来源:互联网 发布:html css js手机软件 编辑:程序博客网 时间:2024/05/01 23:57
好吧。。其实这道题比较有技巧的做法是对网页进行处理。
当然也可以选择直接暴力打表用map建立一个string to string 的映射,然后直接对给定字符串进行两两转换OK。
贴上两个代码:
map映射:
#include <iostream>#include <cstdio>#include <cstring>#include <map>#include<cmath>#include <string>#include<iomanip>using namespace std;map<string, string> maps;int main(){ string s; maps["2E"]="06"; maps["2F"]="07"; maps["16"]="08"; maps["05"]="09"; maps["25"]="0A"; maps["0B"]="0B"; maps["0C"]="0C"; maps["0D"]="0D"; maps["D8"]="51"; maps["D9"]="52"; maps["E2"]="53"; maps["E3"]="54"; maps["E4"]="55"; maps["E5"]="56"; maps["E6"]="57"; maps["E7"]="58"; maps["E8"]="59"; maps["83"]="63"; maps["84"]="64"; maps["85"]="65"; maps["86"]="66"; maps["87"]="67"; maps["88"]="68"; maps["0E"]="0E"; maps["0F"]="0F"; maps["10"]="10"; maps["11"]="11"; maps["12"]="12"; maps["13"]="13"; maps["3C"]="14"; maps["3D"]="15"; maps["D7"]="50"; maps["89"]="69"; maps["91"]="6A"; maps["92"]="6B"; maps["93"]="6C"; maps["94"]="6D"; maps["95"]="6E"; maps["96"]="6F"; maps["97"]="70"; maps["98"]="71"; maps["99"]="72"; maps["A2"]="73"; maps["A3"]="74"; maps["A4"]="75"; maps["A5"]="76"; maps["A6"]="77"; maps["A7"]="78"; maps["A8"]="79"; maps["A9"]="7A"; maps["C0"]="7B"; maps["4F"]="7C"; maps["D0"]="7D"; maps["A1"]="7E"; maps["07"]="7F"; maps["00"]="00"; maps["E9"]="5A"; maps["BA"]="5B"; maps["E0"]="5C"; maps["BB"]="5D"; maps["B0"]="5E"; maps["6D"]="5F"; maps["79"]="60"; maps["81"]="61"; maps["82"]="62"; maps["01"]="01"; maps["02"]="02"; maps["03"]="03"; maps["37"]="04"; maps["2D"]="05"; maps["32"]="16"; maps["26"]="17"; maps["18"]="18"; maps["19"]="19"; maps["3F"]="1A"; maps["27"]="1B"; maps["1C"]="1C"; maps["1D"]="1D"; maps["1E"]="1E"; maps["1F"]="1F"; maps["40"]="20"; maps["5A"]="21"; maps["7F"]="22"; maps["7B"]="23"; maps["5B"]="24"; maps["6C"]="25"; maps["50"]="26"; maps["7D"]="27"; maps["4D"]="28"; maps["5D"]="29"; maps["5C"]="2A"; maps["4E"]="2B"; maps["6B"]="2C"; maps["60"]="2D"; maps["4B"]="2E"; maps["61"]="2F"; maps["F0"]="30"; maps["F1"]="31"; maps["F2"]="32"; maps["F3"]="33"; maps["F4"]="34"; maps["F5"]="35"; maps["F6"]="36"; maps["F7"]="37"; maps["F8"]="38"; maps["F9"]="39"; maps["7A"]="3A"; maps["5E"]="3B"; maps["4C"]="3C"; maps["7E"]="3D"; maps["6E"]="3E"; maps["6F"]="3F"; maps["7C"]="40"; maps["C1"]="41"; maps["C2"]="42"; maps["C3"]="43"; maps["C4"]="44"; maps["C5"]="45"; maps["C6"]="46"; maps["C7"]="47"; maps["C8"]="48"; maps["C9"]="49"; maps["D1"]="4A"; maps["D2"]="4B"; maps["D3"]="4C"; maps["D4"]="4D"; maps["D5"]="4E"; maps["D6"]="4F"; while(cin >> s) { int l=s.length(); for(int i=0; i<l; i=i+2) { string temp=s.substr(i,2); cout << maps[temp]; } cout << endl; }}
字符串处理:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;//char xxx[1][2][3] = {{{'a', 'b', '"'},{'c','d','f'}}};char EBCDIC[16][16][3] = {{{'N','U','L'},{'S','O','H'},{'S','T','X'},{'E','T','X'},{' ',' ',' '},{'H','T',' '},{' ',' ',' '},{'D','E','L'},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'V','T',' '},{'F','F',' '},{'C','R',' '},{'S','O',' '},{'S','I',' '}},{{'D','L','E'},{'D','C','1'},{'D','C','2'},{'D','C','3'},{' ',' ',' '},{' ',' ',' '},{'B','S',' '},{' ',' ',' '},{'C','A','N'},{'E','M',' '},{' ',' ',' '},{' ',' ',' '},{'I','F','S'},{'I','G','S'},{'I','R','S'},{'I','U','S'}},{{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'L','F',' '},{'E','T','B'},{'E','S','C'},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'E','N','Q'},{'A','C','K'},{'B','E','L'}},{{' ',' ',' '},{' ',' ',' '},{'S','Y','N'},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'E','O','T'},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'D','C','4'},{'N','A','K'},{' ',' ',' '},{'S','U','B'}},{{'S','P',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'.',' ',' '},{'<',' ',' '},{'(',' ',' '},{'+',' ',' '},{'|',' ',' '}},{{'&',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'!',' ',' '},{'$',' ',' '},{'*',' ',' '},{')',' ',' '},{';',' ',' '},{' ',' ',' '}},{{'-',' ',' '},{'/',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{',',' ',' '},{'%',' ',' '},{'_',' ',' '},{'>',' ',' '},{'?',' ',' '}},{{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'`',' ',' '},{':',' ',' '},{'#',' ',' '},{'@',' ',' '},{'\'',' ',' '},{'=',' ',' '},{'"',' ',' '}},{{' ',' ',' '},{'a',' ',' '},{'b',' ',' '},{'c',' ',' '},{'d',' ',' '},{'e',' ',' '},{'f',' ',' '},{'g',' ',' '},{'h',' ',' '},{'i',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}},{{' ',' ',' '},{'j',' ',' '},{'k',' ',' '},{'l',' ',' '},{'m',' ',' '},{'n',' ',' '},{'o',' ',' '},{'p',' ',' '},{'q',' ',' '},{'r',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}},{{' ',' ',' '},{'~',' ',' '},{'s',' ',' '},{'t',' ',' '},{'u',' ',' '},{'v',' ',' '},{'w',' ',' '},{'x',' ',' '},{'y',' ',' '},{'z',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}},{{'^',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{'[',' ',' '},{']',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}},{{'{',' ',' '},{'A',' ',' '},{'B',' ',' '},{'C',' ',' '},{'D',' ',' '},{'E',' ',' '},{'F',' ',' '},{'G',' ',' '},{'H',' ',' '},{'I',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}},{{'}',' ',' '},{'J',' ',' '},{'K',' ',' '},{'L',' ',' '},{'M',' ',' '},{'N',' ',' '},{'O',' ',' '},{'P',' ',' '},{'Q',' ',' '},{'R',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}},{{'\\',' ',' '},{' ',' ',' '},{'S',' ',' '},{'T',' ',' '},{'U',' ',' '},{'V',' ',' '},{'W',' ',' '},{'X',' ',' '},{'Y',' ',' '},{'Z',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}},{{'0',' ',' '},{'1',' ',' '},{'2',' ',' '},{'3',' ',' '},{'4',' ',' '},{'5',' ',' '},{'6',' ',' '},{'7',' ',' '},{'8',' ',' '},{'9',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}}};char ASCII[18][16][3] = {{{'N','U','L'},{'S','O','H'},{'S','T','X'},{'E','T','X'},{'E','O','T'},{'E','N','Q'},{'A','C','K'},{'B','E','L'},{'B','S',' '},{'H','T',' '},{'L','F',' '},{'V','T',' '},{'F','F',' '},{'C','R',' '},{'S','O',' '},{'S','I',' '}},{{'D','L','E'},{'D','C','1'},{'D','C','2'},{'D','C','3'},{'D','C','4'},{'N','A','K'},{'S','Y','N'},{'E','T','B'},{'C','A','N'},{'E','M',' '},{'S','U','B'},{'E','S','C'},{'I','F','S'},{'I','G','S'},{'I','R','S'},{'I','U','S'}},{{'S','P',' '},{'!',' ',' '},{'"',' ',' '},{'#',' ',' '},{'$',' ',' '},{'%',' ',' '},{'&',' ',' '},{'\'',' ',' '},{'(',' ',' '},{')',' ',' '},{'*',' ',' '},{'+',' ',' '},{',',' ',' '},{'-',' ',' '},{'.',' ',' '},{'/',' ',' '}},{{'0',' ',' '},{'1',' ',' '},{'2',' ',' '},{'3',' ',' '},{'4',' ',' '},{'5',' ',' '},{'6',' ',' '},{'7',' ',' '},{'8',' ',' '},{'9',' ',' '},{':',' ',' '},{';',' ',' '},{'<',' ',' '},{'=',' ',' '},{'>',' ',' '},{'?',' ',' '}},{{'@',' ',' '},{'A',' ',' '},{'B',' ',' '},{'C',' ',' '},{'D',' ',' '},{'E',' ',' '},{'F',' ',' '},{'G',' ',' '},{'H',' ',' '},{'I',' ',' '},{'J',' ',' '},{'K',' ',' '},{'L',' ',' '},{'M',' ',' '},{'N',' ',' '},{'O',' ',' '}},{{'P',' ',' '},{'Q',' ',' '},{'R',' ',' '},{'S',' ',' '},{'T',' ',' '},{'U',' ',' '},{'V',' ',' '},{'W',' ',' '},{'X',' ',' '},{'Y',' ',' '},{'Z',' ',' '},{'[',' ',' '},{'\\',' ',' '},{']',' ',' '},{'^',' ',' '},{'_',' ',' '}},{{'`',' ',' '},{'a',' ',' '},{'b',' ',' '},{'c',' ',' '},{'d',' ',' '},{'e',' ',' '},{'f',' ',' '},{'g',' ',' '},{'h',' ',' '},{'i',' ',' '},{'j',' ',' '},{'k',' ',' '},{'l',' ',' '},{'m',' ',' '},{'n',' ',' '},{'o',' ',' '}},{{'p',' ',' '},{'q',' ',' '},{'r',' ',' '},{'s',' ',' '},{'t',' ',' '},{'u',' ',' '},{'v',' ',' '},{'w',' ',' '},{'x',' ',' '},{'y',' ',' '},{'z',' ',' '},{'{',' ',' '},{'|',' ',' '},{'}',' ',' '},{'~',' ',' '},{'D','E','L'}}};//char s[4], t[15];char tmp[4];int main(){ //freopen("1.txt", "r", stdin); int i, j, x, y, flag, k; char c; bool ans; flag = 1; while (scanf("%c", &c) != EOF) { if (flag == 1) { switch(c) { case 'A':x = 10; break; case 'B':x = 11; break; case 'C':x = 12; break; case 'D':x = 13; break; case 'E':x = 14; break; case 'F':x = 15; break; default: x = (int)c-(int)'0'; break; } flag = 2; continue; } else { switch(c) { case 'A':y = 10; break; case 'B':y = 11; break; case 'C':y = 12; break; case 'D':y = 13; break; case 'E':y = 14; break; case 'F':y = 15; break; default: y = (int)c-(int)'0'; break; } flag = 1; } ans = false; for (i = 0; i <= 2; ++i) tmp[i] = EBCDIC[x][y][i]; for (i = 0; i <= 8; ++i) { for (j = 0; j <= 15; ++j) { for (k = 0; k <= 2; ++k) { if (tmp[k] != ASCII[i][j][k]) break; if (k == 2) { ans = true; break; } } if (ans) break; } if (ans) break; } printf("%d", i); if (j >= 10) printf("%c", char(j-10+(int)'A')); else printf("%d", j); } printf("\n"); return 0;}
- HDU4690_EBCDIC 两种做法
- poj1456(两种做法)
- 网线的两种做法
- 两种香肠的做法
- 表格尾部两种做法
- POJ 3275 两种做法
- poj 1006 Biorhythms(两种做法)
- 减小编译时间的两种做法
- EasyUI Pagination 分页的两种做法
- EasyUI Pagination 分页的两种做法
- EasyUI Pagination 分页的两种做法
- EasyUI Pagination 分页的两种做法
- 【LeetCode】Majority Element两种做法对比
- N 皇后的两种做法
- EasyUI Pagination 分页的两种做法
- 页面重载用javascript的两种做法
- 两种tab页选项卡的做法
- 用javascript实现页面重载的两种做法
- flashback table
- C语言 南阳理工ACM 29.求转置矩阵问题
- php开发笔记一
- 用正则表达式获取文件名和路径
- HDU 4691 Front compression
- HDU4690_EBCDIC 两种做法
- 数据的离散化 STL用法
- Python 随机生成DAG(有向无环图)
- 代理的四种实现方式
- HDU 2602 Bone Collector - from lanshui_Yang
- POI读取Excel常见问题
- flash + php头像上传预览裁剪组件1.8
- Hibernate的多表查询问题一
- 对拍程序