【t066】致命的珠宝
Time Limit: 1 second
Memory Limit: 128 MB
【问题描述】
门上有着N个宝珠,每个宝珠都有一个数字。Mini询问老者后,得知要想打开这扇门,就得找出两颗珠宝,使这两颗珠宝撞在一起
后产生的能量值最接近123。
两颗珠宝撞在一起以后产生的能量值的计算方法是:将两个珠宝所代表的数字转换为7进制的数后,一一对照这两个七进制数的
每一位,若相同,则结果为0否则为1。
如:两颗珠子所代表的数为18和370,将这两个数转化为7进制后是24和1036,对于高位不足的数,采取高位添‘0’的方法,即两个
数为0024,1036。最后得到的能量值C为1011,再将C当作二进制数转换为十进制数。那么转换后的C就为这两个珠撞在一起以后
所产生的能量值。
【样例说明】
370和78这两颗宝珠所产生的能量值15最接近123
【输入格式】
第一行一个数N,表示宝珠的数量。(2<=N<=900) 第二行N个数,每个数用空格隔开,每个数表示第I个宝珠所代表的数字(0<=每个数<=11111)
【输出格式】
一个数,代表你所找到的最接近123的能量值
Sample Input
5
18 370 45 36 78
Sample Output
15
【题目链接】:http://noi.qz5z.com/viewtask.asp?id=t066
【题解】
O(N^2)枚举两个珠宝;
按照所给规则尝试合并它们;
10进制转7进制;
两个7进制根据相同为0,不同为1的规则转成一个2进制;
然后2进制转成10进制;
看看是不是和123的差距更小;更小就更新答案呗.
时间复杂度O(N^2);
(写时间复杂度真的是为了装逼哦[斜眼笑])
【完整代码】
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define pb push_back
const int MAXN = 900+100;
int n,a[MAXN];
int ans = -1,t;
vector <int> two;
vector <int> get7(int x)
{
vector <int> g;
g.clear();
while (x>0)
{
g.pb(x%7);
x/=7;
}
return g;
}
int main()
{
// freopen("F:\\rush.txt","r",stdin);
int now = 1;
while (now<10e8)
{
two.pb(now);
now <<=1;
}
scanf("%d",&n);
for (int i = 1;i <= n;i++)
scanf("%d",&a[i]);
for (int i = 1;i <= n-1;i++)
for (int j = i+1;j <= n;j++)
{
vector<int> x = get7(a[i]),y = get7(a[j]);
int lenx = x.size(),leny = y.size();
int len = max(lenx,leny);
while (int(x.size())<len) x.pb(0);
while (int(y.size())<len) y.pb(0);
reverse(x.begin(),x.end());
reverse(y.begin(),y.end());
vector<int> v;
v.clear();
for (int i = 0;i <= len-1;i++)
if (x[i]==y[i])
v.pb(0);
else
v.pb(1);
reverse(v.begin(),v.end());
int xx = 0;
for (int i = 0;i <= len-1;i++)
xx+=v[i]*two[i];
if (ans==-1)
{
ans = xx;
t = abs(ans-123);
}
else
{
int tt = abs(xx-123);
if (tt<t)
{
ans = xx;
t = tt;
}
}
}
printf("%d\n",ans);
return 0;
}
【t066】致命的珠宝的更多相关文章
- 关于启动 SecureCRT 遇到一个致命的错误且必须关闭
--------------------------SecureCRT---------------------------SecureCRT 遇到一个致命的错误且必须关闭. 一个崩溃转储文件已创建于 ...
- (转)Web开发中最致命的小错误
Web开发中最致命的小错误 现在,有越来越多所谓的“教程”来帮助我们提高网站的易用性.本文收集了一些在 Web 开发中容易出错和被忽略的小问题,并且提供了参考的解决方案,以便于帮助 Web 开发者更好 ...
- 谈谈关于PHP的代码安全相关的一些致命知识
谈谈关于PHP的代码安全相关的一些致命知识 目标 本教程讲解如何防御最常见的安全威胁:SQL 注入.操纵 GET 和 POST 变量.缓冲区溢出攻击.跨站点脚本攻击.浏览器内的数据操纵和远程表单提交. ...
- Android特效专辑(六)——仿QQ聊天撒花特效,无形装逼,最为致命
Android特效专辑(六)--仿QQ聊天撒花特效,无形装逼,最为致命 我的关于特效的专辑已经在CSDN上申请了一个专栏--http://blog.csdn.net/column/details/li ...
- Uber无人驾驶致命车祸翻案:6秒前已侦测到死者
此前有消息称,今年三月 Uber 无人驾驶汽车致命车祸是软件失误导致的.现在,美国运输安全委员会的事故初步调查报告给出了不同的说法. 从图中可见,黄色线以米为单位显示,橙色线显示了地图线路的中心,紫色 ...
- 「雅礼集训 2017 Day5」珠宝
题目描述 Miranda 准备去市里最有名的珠宝展览会,展览会有可以购买珠宝,但可惜的是只能现金支付,Miranda 十分纠结究竟要带多少的现金,假如现金带多了,就会比较危险,假如带少了,看到想买的右 ...
- [LeetCode] Jewels and Stones 珠宝和石头
You're given strings J representing the types of stones that are jewels, and S representing the ston ...
- “SecureCRT遇到一个致命的错误且必须关闭”处理办法
打开SecureCRT时报错:SecureCRT遇到一个致命的错误且发须关闭.一个崩溃转储文件已创建于... 解决办法是,如下在cmd中输入regedit回车打开注册表编缉器 展开HKEY_LOCAL ...
- 【转】Tesla autopilot 引起致命车祸
Tesla autopilot 引起致命车祸 好一段时间没关心 Tesla 了,今天才发现他们的 autopilot 终于引起了致命的车祸.这场 Model S 撞上18轮大卡车的车祸,发生于5月7号 ...
随机推荐
- poj2125 最小点权覆盖集
题意:有一张图,对于每个点,有出边和入边,现在目的是删除改图的所有边,对于每个点,删除出边的花费Wi-,删除入边的花费Wi+,现在的目的求删去所有边后的花费最小. 建图方法:对于每个点i,拆点为i,i ...
- nginx+tomcat集群+redis(memcache)session共享!
常用保持session的方式: 1.一些代理(比如nginxIP_hash) 1.使用数据库来存储Session 2.使用Cookie来存储Session ...
- javascript正则表达式和字符串RegExp
这篇文章主要介绍了javascript正则表达式和字符串RegExp and String(一)的相关资料,需要的朋友可以参考下 前言 正则表达式是javascript非常重要和常用的 ...
- Leetcode806.Number of Lines To Write String写字符串需要的行数
我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行.我们给定了一个数组 width ...
- sql —— in
IN 操作符允许我们在 WHERE 子句中规定多个值. 原表: 执行查询:
- 中文乱码在java中URLEncoder.encode方法要调用两次解决
中文乱码在java中URLEncoder.encode方法要调用两次解决 一.场景: 1.我在客户端要通过get方式调用服务器端的url,将中文参数做utf-8编码,需要在js中两次的进行编码,服务器 ...
- BZOJ 1500 洛谷2042维护序列题解
BZ链接 洛谷链接 这道题真是丧心病狂.... 应该很容易就可以看出做法,但是写代码写的....... 思路很简单,用一个平衡树维护一下所有的操作就好了,重点讲解一下代码的细节 首先如果按照常规写法的 ...
- 让开发部署提速 8 倍,我参与贡献这款 IDE 插件的全过程
如何像参与开源那样,去参与一款 IDE 插件的设计? 作为一款 IDE 插件的使用者,我是否能决定下一个版本的功能? 自从产品经理银时小伙和他的开发小哥们在去年12月发布 Cloud Toolkit( ...
- Laravel 发送邮件(最简单的讲解!)
Laravel集成了SwiftMailer库进行邮件发送,邮件配置文件位于config/mail.php:. return [ 'driver' => env('MAIL_DRIVER', 's ...
- datetimepicker —— 日期选择控件
一.依赖 <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel=&qu ...