hdu 4541(麻烦的模拟)
Ten Googol
Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 545 Accepted Submission(s): 267
面试官在房间的白板上写下6个数字:
10,9,60,90,70,66
现在的问题是,接下来该出现什么数字?
想不出来了吧?不要再从数学的角度想了,把这些数字用正常的英文拼写出来:
ten(10)
nine(9)
sixty(60)
ninety(90)
seventy(70)
sixty-six(66)
我们可以惊奇的发现这些数字都是按字母的多少排序的!再仔细一看:ten(10)不是唯一一个可以用3个字母拼出的数字,还有
one(1),two(2),six(6);nine(9)也不是唯一一个用4个字母拼出的数字,还有zero(0),four(4)和five(5).
而题目中的数字,每一个都是用给定长度的字母拼写出来的数字里最大的一个!
现在我们回到原题:接下去该是哪个数字呢?
我
们注意到,66对应的字母长度为8(特别提醒:连接符不算在内),不管之后跟着哪个数,它都应该有9个字母,而且应该是9个字母拼出的数字里最大的。仔细
找一下,你可能就会得出ninety-six(96)。不可能是100以上的数字,因为它会以one hundred开头,这已经有10个字母了。
对于Google面试官来说,96只不过是可以接受的答案之一,另一个更好的回答是:
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
也就是10的101次方,即:ten
googol(有关Googol的资料可以在wiki中了解)。据说当年Google这个名字的创建也是由googol演化过来的(江湖传说肖恩拼写时老
爱出错,本来想注册googol或者googolplex,结果由于手误就注册了google)。
好了,当你解出了这道难题,面试官的下一道题目接踵而至——给你两个正整数N和M,要求你输出由N个字母组成的第M大数(我们只考虑0~99和googol级别的数字)。
注意:这里所说的“第M大数”是指从小到大的第M大,具体参见Sample
每组数字由两个正整数N和M组成。
[Technical Specification]
1<=T<=100
3<=N<=9
1<=M<=100
3 1
3 2
4 1
4 2
5 1
9 100
Case #2: 2
Case #3: 0
Case #4: 4
Case #5: 3
Case #6: -1
#include<stdio.h>
#include<string.h>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
using namespace std;
int a[][]={
{-},
{-},
{-},
{-,,,,},
{-,,,,},
{-,,,,,,},
{-,,,,,,},
{-,,,},
{-,,,,,,,,,,,,,},
{-,,,,,,,,,,,,,,,,,,,,,,}
};
char str[][] ={"",
"",
"",
"",
""
};
int main()
{
int tcase;
scanf("%d",&tcase);
int t = ;
while(tcase--){
int k,b;
scanf("%d%d",&k,&b);
printf("Case #%d: ",t++);
if(k==){
if(b>) printf("-1\n");
else printf("%d\n",a[k][b]);
}
if(k==){
if(b>) printf("-1\n");
else printf("%d\n",a[k][b]);
}
if(k==){
if(b>) printf("-1\n");
else printf("%d\n",a[k][b]);
}
if(k==){
if(b>) printf("-1\n");
else printf("%d\n",a[k][b]);
}
if(k==){
if(b>) printf("-1\n");
else printf("%d\n",a[k][b]);
}
if(k==){
if(b>) printf("-1\n");
else printf("%d\n",a[k][b]);
}
if(k==){
if(b>) printf("-1\n");
else if(b>) printf("%s\n",str[b-]);
else printf("%d\n",a[k][b]);
}
}
return ;
}
hdu 4541(麻烦的模拟)的更多相关文章
- HDU 5510---Bazinga(指针模拟)
题目链接 http://acm.hdu.edu.cn/search.php?action=listproblem Problem Description Ladies and gentlemen, p ...
- HDU 5047 Sawtooth(大数模拟)上海赛区网赛1006
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5047 解题报告:问一个“M”型可以把一个矩形的平面最多分割成多少块. 输入是有n个“M",现 ...
- HDU 5965 扫雷 【模拟】 (2016年中国大学生程序设计竞赛(合肥))
扫雷 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submissi ...
- HDU 5935 Car 【模拟】 (2016年中国大学生程序设计竞赛(杭州))
Car Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- HDU 5912 Fraction 【模拟】 (2016中国大学生程序设计竞赛(长春))
Fraction Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- hdu 4541 Ten Googol
http://acm.hdu.edu.cn/showproblem.php?pid=4541 打表找规律 #include <cstdio> #include <cstring> ...
- hdu 4831 Scenic Popularity(模拟)
pid=4831" style="font-weight:normal">题目链接:hdu 4831 Scenic Popularity 题目大意:略. 解题思路: ...
- HDU 5538 House Building(模拟——思维)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5538 Problem Description Have you ever played the vi ...
- hdu 4930 斗地主恶心模拟
http://acm.hdu.edu.cn/showproblem.php?pid=4930 就是两个人玩斗地主,有8种牌型,单张,一对,三张,三带一,三带对,四带二,四炸,王炸.问先手能否一次出完牌 ...
随机推荐
- stark组件前戏(3)之django路由分发的本质include
django路由分发的三种方式 方式一: from django.urls import re_path, include urlpatterns = [ re_path(r'^web/', incl ...
- mac terminal基本命令
文件目录 首先要清楚几个文件目录: " / " :根目录 " ~ " :用户主目录的缩写.例如当前用户为esther,那么" ~ "展开来 ...
- Python虚拟机类机制之instance对象(六)
instance对象中的__dict__ 在Python虚拟机类机制之从class对象到instance对象(五)这一章中最后的属性访问算法中,我们看到“a.__dict__”这样的形式. # 首先寻 ...
- JAVA后端常用框架SSM,redis,dubbo等
JAVA后端常用框架SSM,redis,dubbo等 一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 spri ...
- 递归查询子类sql
--通过父节点查询子节点 WITH TREE AS( SELECT * FROM Role WHERE RoleID = 4 -- 要查询的父 id UNION ALL SELECT Role.* F ...
- Python+Selenium练习篇之11-浏览器上前进和后退操作
本文来介绍上如何,利用webdriver中的方法来演示浏览器中地址栏旁边的前进和后退功能. 相关脚本代码如下: # coding=utf-8import timefrom selenium impor ...
- 配置kubectl客户端通过token方式访问kube-apiserver
使用的变量 本文档用到的变量定义如下: $ export MASTER_IP=XX.XX.XX.XX # 替换为 kubernetes master VIP $ export KUBE_APISERV ...
- LeetCode with Python -> Linked List
21. Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The new list s ...
- JQuery向ashx提交中文参数方案 [转]
转自:http://blog.csdn.net/wangqiuyun/article/details/8450964 字符编码这个东西,一旦和中文打上交道就不可避免出现乱码,今天项目用到了JQuery ...
- SQLServer存储引擎——06.索引的遍历与维护
一.遍历 索引树的每个节点都是一个页面. 索引树有三种类型的节点:根节点.中间节点.叶子节点. (1) 根节点与中间节点一样,只包含下一层节点的入口值与入口指针,它们称为索引节点: (2) 叶子节点包 ...