博客
关于我
hdu 6828 Little Rabbit‘s Equation 模拟
阅读量:361 次
发布时间:2019-03-04

本文共 2104 字,大约阅读时间需要 7 分钟。

文章目录

题目大意

给你一个算式,求算式最小是在几进制下运算得以成立

题目思路

写一个k进制转换10进制的函数

将式子中的3个数都从k进制转化成10进制,然后运算
从最小可能的进制跑到16,若成立,把最小的结果记录下来输出即可
注意题目要求进制最小为2
0+0=0这种情况下,答案应输出2

代码

#include 
using namespace std;typedef long long ll;char number[20];map
mp;ll to_digit(string c, int k) { bool fu = false; int l = c.length(); if (c[0] == '-') fu = 1; if (c[l - 1] == '.') l--; ll ans = 0; for (int i = fu; i < l; ++i) { ans *= k; ans += mp[c[i]]; } return ans * (fu ? -1 : 1);}int main() { for (int i = 0; i < 10; i++) number[i] = '0' + i; for (int i = 0; i < 6; i++) number[i + 10] = 'A' + i; for (int i = 0; i < 16; i++) mp[number[i]] = i; string s; set
oper; oper.insert('+'), oper.insert('-'), oper.insert('*'), oper.insert('/'); while (cin >> s) { int i = 1; char m = '0'; for (; oper.count(s[i]) == 0; i++) if (mp[s[i]] > mp[m]) m = s[i]; if (mp[s[0]] > mp[m]) m = s[0]; string a = s.substr(0, i); char op = s[i++]; int j = (s[i] != '-' ? i : i + 1); for (; s[j] != '='; j++) if (mp[s[j]] > mp[m]) m = s[j]; string b = s.substr(i, (j++) - i); i = s[j] != '-' ? j : j + 1; for (; i < s.length(); i++) if (mp[s[i]] > mp[m]) m = s[i]; string c = s.substr(j, s.length() - j + 1); bool flag = 0; int ans = -1; for (int k = max(mp[m] + 1, 2); k <= 16; k++) { ll na = to_digit(a, k), nb = to_digit(b, k), nc = to_digit(c, k); switch (op) { case '+': if (na + nb == nc) flag = 1; break; case '-' : if (na - nb == nc) flag = 1; break; case '*': if (na * nb == nc) flag = 1; break; case '/': if (na / nb == nc && na % nb == 0) flag = 1; break; } if (flag) { ans = k; break; } } cout << ans << endl; } return 0;}

转载地址:http://zair.baihongyu.com/

你可能感兴趣的文章
NAND NOR FLASH闪存产品概述
查看>>
nano 编辑
查看>>
nanoGPT 教程:从零开始训练语言模型
查看>>
NASA网站曝严重漏洞,或将沦为黑客钓鱼网站?
查看>>
Nash:轻量级、安全且可靠的脚本语言
查看>>
NAS、SAN和DAS的区别
查看>>
NAS个人云存储服务器搭建
查看>>
NAS服务器有哪些优势
查看>>
NAT PAT故障排除实战指南:从原理到技巧的深度探索
查看>>
nat 网卡间数据包转发_你是不是从来没有了解过光纤网卡,它跟普通网卡有什么区别?...
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,解决动态域名解析难题
查看>>
natapp搭建外网服务器
查看>>
NativePHP:使用PHP构建跨平台桌面应用的新框架
查看>>
nativescript(angular2)——ListView组件
查看>>
NativeWindow_01
查看>>
Native方式运行Fabric(非Docker方式)
查看>>
Nature | 电子学“超构器件”, 从零基础到精通,收藏这篇就够了!
查看>>
Nature和Science同时报道,新疆出土四千年前遗骸完成DNA测序,证实并非移民而是土著...
查看>>