@kaike

1.进制

  (spehex.pas/c/cpp)

【问题描述】

现在给定一个特殊的计数方式,混合进制数。也就是给定一个多位数,每位数上的进制都是不一样的。

比如给定一个三位数:这三位数的进制分别是2 3 2.也就是最小的位数逢2进1,次小位数逢3进制,最高位逢2进1.

那么,这个混合进制数最小数是0,最大数是121。一共有2*3*2=12个数。

分别是:000,001,010,011,020,021,100,101,110,111,120,121。

如果我想知道第7大的数,就是100.

现在的问题就是,给你每个位数上的进制,你找出从0开始,第k个数是多少?

【输入】

第一行 一个整数n,表示这个数有n位 n<=30

第二行,n个用空格隔开的整数,依次为最高位到最低位的进制。 保证进制都在十进制以内。

保证这个混合进制数的最大数的编号在int范围内。

第三行为m,表示m次查询。m<=6

接下来m行,每行一个整数k,表示要查询的混合进制数的第k小的数

保证k在int范围内。

【输出】

m行。每行一个数,表示要查询的混合进制数的第k小的数在这个混合进制数里的值是多少。

如果超过要求的位数,那么输出-1

【输入输出样例1】

spehex.in

spehex.out

3

2 3 2

3

7

9

14

100

110

-1

抓狂了两小时,最后A了?

数据太弱了。

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 int n,b[20],m,k,s[20];
 5 long long sum=1;
 6 int main()
 7 {
 8     freopen("spehex.in","r",stdin);
 9     freopen("spehex.out","w",stdout);
10     cin>>n;
11     for(int i=n;i>0;i--)
12     {    cin>>b[i];
13         sum*=b[i];
14     }
15     cin>>m;
16     for(int i=1;i<=m;i++)
17     {
18         string s1;
19         int j=1;
20         cin>>k;
21         if(k==1)    cout<<0<<endl;
22         else if(k>sum)  cout<<-1<<endl;
23         else{
24             k--;
25             while(k)
26             {
27                 s[j]=k%b[j];
28                 k/=b[j];
29                 j++;
30             }
31             for(int c=j-1;c>0;c--)
32                 cout<<s[c];
33             cout<<endl;
34         }
35     }
36     return 0;
37 }

= =

1.旅行

  (fule.pas/c/cpp)

【问题描述】

小x要去旅游了。他决定开一辆耗油量很高的巨大的拉风的tank去旅游了。

这辆tank有一个巨大的油箱,可以装满G升燃油。tank是很费油的,每升燃油只够tank跑一公里,而小x的旅程要有D公里要跑。

虽然油箱很大,但是,显然旅途中是需要加油的。

小x得到了旅途中加油站的信息,一共有N个加油站,第i个加油站距离起点的距离为X_i(0 <= X_i <= D),每公升燃油价格为Y_i元(1 <= Y_i <= 1,000,000)。

现在小x想知道,如果出发时,tank里已经有B公升燃油(0 <= B <= D),那么,他最少花费多少钱,可以完成整个旅途。

如果中间因为燃油不够而无法完成旅程,那么你需要输出-1.

【输入】

第一行4个整数:N,G,B和D

接下来N行,每行两个整数表示X_i和 Y_i。

【输出】

一个整数,表示完成旅行的最小花费,或者-1。

【输入输出样例1】

fule.in

fule.out

4 10 3 17

2 40

9 15

5 7

10 12

174

在第一个加油点 加2升,在第5个加油点加满10升,再到第10个加油点加2升,一共花费174.

【数据范围】

30%  数据保证  N<=100   G<=1000  D<=10000

60%  数据保证  N<=5000  G<=1000  D<=10000000

100% 数据 1 <= G <= 1,000,000  1 <= D <= 1,000,000,000  1 <= N <= 50,000

输出-1得30哈哈哈哈

看不懂我放弃了,回来找找贪心的做法。

1.旅程

  (journey.pas/c/cpp)

【问题描述】

给出一个长度为 N 的由小写字母’a’~’z’和’*’组成的字符串 A,一个长度为 M 的仅由小

写字母’a’~’z’组成的字符串 B。一个’*’可以匹配任意多个字符(包括 0 个)。求在 B 的所有 循环同构串中,有多少个能够与 A 匹配。

循环同构串:就是把 B 的前 k 个字母(0<=k<M)移到结尾所得到的字符串。例如 abc 的 循环同构串有 abc、bca 和 cab。

A 与 B 匹配:若除了 A 中的’*’号可以匹配 B 中的任意多个字符外,其余字符一一对应, 则称 A 与 B 匹配。例如 a*b*c 与 aadbc 是匹配的,其中第一个*对应 ad,第二个*对应空串。

【输入】

第一行为字符串 A。

第二行为字符串 B。

【输出】

输出在 B 的所有循环同构串中,有多少个能够与 A 匹配

【输入输出样例1】

journey.in

journey.out

aaaa

aaaa

4

【输入输出样例2】

journey.in

journey.out

a*a

aaaaaa

6

【输入输出样例3】

journey.in

journey.out

*a*b*c*

abacabadabacaba

15

【数据范围】

对于 30% 的测试点,M≤20。

对于 80% 的测试点,M≤200。

对于 100% 的测试点,1<=N<=100,1≤M≤100000。

这题有好多个题解...然而我不会...

转载于:https://www.cnblogs.com/Kaike/p/6063163.html

Test on 11/10/2016相关推荐

  1. Test on 11/14/2016

    @kaike 第一题太简单我不想说什么 来说第二题. 1.小x的旅行   (travel.pas/c/cpp) [问题描述] 小x大学毕业后,进入了某个公司做了高层管理,他每年的任务就是检查这个公司在 ...

  2. U3D笔记11:47 2016/11/30-15:15 2016/12/19

    U3D笔记11:47 2016/11/30-15:15 2016/12/19 技术BLOG:http://www.unity.5helpyou.com/2373.html#comment-43108 ...

  3. ubuntu mysql emma_Ubuntu 11.10 MySQL客户端 Emma 6.0 中文乱码解决办法

    在Linux如果使用MySQL的图形客户端,我感觉Emma算一个好用的了. 比起mysql自己的Mysql Query Browser 要好, 而且最不能忍受的是Mysql Query Browser ...

  4. eclipse+adt+android sdk,64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细)...

    Ubuntu 11.10 下 Android开发完全安装另一篇: 平台: 操作系统:ubuntu11.10 1.在ubuntu11.10下的ubuntu软件中心中有自带的eclipse,但是这里我们不 ...

  5. ubuntu 12.04/11.10 PPA 安装 Nvidia 295.59

    2019独角兽企业重金招聘Python工程师标准>>> Nvidia 295.59 增加支持以下GPUs: NVS 5400M NVS 310 GeForce GT 620M GeF ...

  6. Ubuntu 11.10中用xen-tools安装虚拟机(UbuntuCentOS)

    Ubuntu 11.10中可以通过apt-get安装xen-tools,其版本为4.1版本: # apt-get install -y xen-tools 由于xen-tools是xen的半虚拟化管理 ...

  7. Ubuntu 11.10 Server下搭建Maven私服

    安装Nexus服务的文档可以参考官方站点:http://www.sonatype.com/books/nexus-book/reference/install-sect-install.html 相关 ...

  8. Ubuntu 11.10更新源地址列表更改方法及下载

    1.首先备份Ubuntu 11.10源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表,有备无患嘛) 2 ...

  9. ubuntu 11.10上安装osdlyrics 歌词插件

    windows 下的音乐播放器大多带有歌词播放功能,但linux下的音乐播放器大多数没有歌词显示功能,要想显示歌词,需要安装歌词插件,个人安装成功的,并且比较喜欢的是osdlyrics,ubuntu ...

最新文章

  1. android 学习笔记之图形算法
  2. 搭建SSH框架之一(资料准备)
  3. debug疯了_作业没疯,我先疯了 益智解谜《作业疯了》试玩
  4. 【JUC并发编程09】读写锁
  5. java基础之集合类
  6. 1.11 多于空间维度的向量组
  7. typecho一个简洁轻量适合写作,技术类的主题-AirCloud
  8. 代码审计中的SQL注入
  9. 利用python进行数据分析微盘_谁有有《利用Python进行数据分析》pdf 谢谢
  10. import pymysql 没有模块_python模块与包
  11. 对 pretext tasks 的理解
  12. 比赛现场打分管理平台的前后台安装配置和使用疑难问题汇编
  13. 1/4-36UNS-2A的螺纹
  14. HTML5 drag属性
  15. JavaScript入门案例
  16. 超大TIF图片分割成一百张较小的图片
  17. layui上传图片(加大小限制)
  18. 单阶段和两阶段目标检测
  19. 如何制定个人学习计划?
  20. uniapp配置全局样式

热门文章

  1. Redis 高级特性(2)—— 发布 订阅模式
  2. 如何学习:自考小组学习
  3. 王道考研 计算机网络笔记 第六章:应用层
  4. Imagination发布四款RISC-V CPU
  5. PyTorch数据加载处理
  6. BAD SLAM:捆绑束调整直接RGB-D SLAM
  7. MySQL基础之select基本查询
  8. 【CV】Pytorch一小时入门教程-代码详解
  9. [JS] 关于parseInt的一个小知识:[‘1‘, ‘2‘, ‘3‘].map(parseInt)
  10. android studio 图片的命名规则