1031: Hungar的得分问题(二)

时间限制: 1 Sec  内存限制: 64 MB
提交: 15  解决: 10
[提交][状态][讨论版]

题目描述

距离正式选秀时间越来越近了,今天Hungar打算组织一场比赛!

于是他和其他4名队员组成了一支队伍,比赛就此开始,然而计分器似乎出了点问题,Hungar惊奇得发现,当第一次得分时,计分器显示的是4,第二次是7,第三次是44.....

Hungar马上发现,这些显示的数字只包含4和7,他突然想知道,给定一个这样的数字,它的排名是多少?

输入

第一行一个整数T(T <=100), 代表有T组数据.

对于每一组数据,包含一个整数n(1 <= n <= 10^9).

输出

n的排名.

样例输入

34777

样例输出

126

提示

输入数据保证合法(即n只包含4和7)

排名从小到大开始排.

例如排在第1的是4,排在第2的是7......

为数不多的仔细思考想出的题,刚开始只知道算可以求前面几次的次数sum(N:1~s.size-1,列在纸上可以构成杨辉三角),但是到n以为是个next_permutation,然后打表看了下数据比较大的情况下早过万了,用next估计超时,然后想半天找到了4和7出现的相对位置与本次序数关系——首先将4与7化为2进制的0与1,然后转换为十进制,再加上前面的sum,即可得到答案。似乎递推顺序并非按字典序...与next的顺序只有几组符合答案,纠结半天想碰碰运气结果AC了
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<queue>
#include<set>
#include<map>
#include<sstream>
#include<algorithm>
#include<cmath>
#include<cstdlib>
using namespace std;
int poww(int n)
{
int sum=1;
for (int i=1; i<=n; i++)
sum*=2;
return sum;
}
int bi_to_dec(string s)//
{
int sum=0;
for (int i=0; i<(int)s.size(); i++)
{
sum=sum*2+s[i]-'0';
}
return sum;
}
void change(string &s)//转换为2进制
{
for (int i=0; i<(int)s.size(); i++)
{
if(s[i]=='7')
s[i]='1';
else if(s[i]=='4')
s[i]='0';
}
}
int main (void)
{
string s;
int t;
cin>>t;
getchar();
while (t--)
{
getline(cin,s);
int len=(int)s.size();
int ans=poww(len)-1;//计算前n-1组的sum
change(s);
ans=ans+bi_to_dec(s);//加上本次的序数
cout<<ans<<endl;
}
return 0;
}

ACM程序设计选修课——1031: Hungar的得分问题(二)(杨辉三角+二进制转换)的更多相关文章

  1. ACM程序设计选修课——1036: Hungar的菜鸟赛季(YY)

    1036: Hungar的菜鸟赛季 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 20  Solved: 14 [Submit][Status][Web ...

  2. ACM程序设计选修课——1030: Hungar的时尚球场(水题+耐心)

    1030: Hungar的时尚球场 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 14  Solved: 8 [Submit][Status][Web ...

  3. 51nod 1031+斐波那契和杨辉三角的一些基础知识

    直接斐波那契... #include<stdio.h> #include<queue> #include<string.h> #include<iostrea ...

  4. ACM程序设计选修课——Problem E:(ds:图)公路村村通(Prim)

    问题 E: (ds:图)公路村村通 时间限制: 1 Sec  内存限制: 128 MB 提交: 9  解决: 5 题目描述 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本, ...

  5. ACM程序设计选修课——Problem F:(ds:图)旅游规划(优先队列+SPFA)

    问题 F: (ds:图)旅游规划 时间限制: 1 Sec  内存限制: 128 MB 提交: 14  解决: 4 题目描述 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路 ...

  6. ACM程序设计选修课——Problem E:(ds:图)公路村村通(优先队列或sort+克鲁斯卡尔+并查集优化)

    畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  7. ACM程序设计选修课——1018: Common Subsequence(DP)

    问题 L: Common Subsequence 时间限制: 1 Sec  内存限制: 32 MB 提交: 70  解决: 40 [提交][状态][讨论版] 题目描述 A subsequence of ...

  8. ACM程序设计选修课——Problem D: (ds:树)合并果子(最优二叉树赫夫曼算法)

    Problem D: (ds:树)合并果子 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 80  Solved: 4 [Submit][Status][ ...

  9. ACM程序设计选修课——1076汇编语言(重定向+模拟)

    1076: 汇编语言 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 34  Solved: 4 [Submit][Status][Web Board] ...

随机推荐

  1. eclipse报错GC overhead limit exceed,卡顿

    在使用Eclipse的Build Project功能时,提示以下错误: An internal error occurred during: “Build Project”. GC overhead ...

  2. 51nod——2504 是子序列的个数(一看就会的序列自动机原理)

    还以为序列自动机是什么,写完无意间看到帖子原来这就是序列自动机……这算自己发现算法

  3. 【上下界网络流 费用流】bzoj2055: 80人环游世界

    EK费用流居然写错了…… Description     想必大家都看过成龙大哥的<80天环游世界>,里面的紧张刺激的打斗场面一定给你留下了深刻的印象.现在就有这么     一个80人的团 ...

  4. Angular - angularjs2 一些报错的概览(数据为json格式)

    {"Unterminated string literal.": "未终止的字符串文本.","Identifier expected.": ...

  5. Golang 简单静态web服务器

    直接使用 net.http 包,非常方便 // staticWeb package main import ( "fmt" "net/http" "s ...

  6. ubuntu18.04+win10解决时钟不同步办法

    安装ntpdate: 执行命令: sudo apt-get install ntpdate 设置校正服务器: sudo ntpdate time.windows.com 设置硬件时间为本地时间: 执行 ...

  7. destoon 支付异步接口文件 notify.php 调试方式

    在if($verify_result) { 之前复制这三个变量 就可以直接访问notify.php 启用调试模式 或者 逐步echo 相关变量来调试 错误原因   notify.php没有入口文件 是 ...

  8. OpenCV中的图像形态学转换

    两个基本的形态学操作是腐蚀和膨胀.他们的变化构成了开运算,闭运算,梯度等.下面以这张图为例 1.腐蚀 这个操作会把前景物体的边界腐蚀掉. import cv2 import numpy as np i ...

  9. __vet_atags

    参考:atags--__vet_atags标签    arch/arm/include/asm/setup.h /* * linux/include/asm/setup.h * * Copyright ...

  10. usb hub 设备流程图

    在此处负责而来:http://blog.csdn.net/xuelin273/article/details/38646851  下面的转载于:http://blog.csdn.net/qianguo ...