青少年编程知识记录 codecoming

【题解】将钱分给最多的儿童

【题目描述】

给你一个整数 money ,表示你总共有的钱数(单位为美元)和另一个整数 children ,表示你要将钱分配给多少个儿童。

你需要按照如下规则分配:

  • 所有的钱都必须被分配。

  • 每个儿童至少获得 1 美元。

  • 没有人获得 4 美元。

请你按照上述规则分配金钱,并返回 最多 有多少个儿童获得 恰好 8 美元。如果没有任何分配方案,返回 -1 。

【输入描述】

一行,两个数,第一个数表示money,第二个数表示children

【输出描述】

一行,最多有多少个儿童获得恰好8美元。如果没有任何分配方案,输出-1

【样例1输入】

20 3

【样例1输出】

1

【样例1解释】

最多获得 8 美元的儿童数为 1 。一种分配方案为:  - 给第一个儿童分配 8 美元。  - 给第二个儿童分配 9 美元。  - 给第三个儿童分配 3 美元。  没有分配方案能让获得 8 美元的儿童数超过 1 。

【样例2输入】

16 2

【样例2输出】

2

【样例2解释】

每个儿童都可以获得 8 美元。

标签: 贪心

作者:亿万年的星光 分类:题解目录 浏览:373

【题解】Crossing River

【题目描述】

几个人过河,每次过两人一人回,速度由慢者决定,问过河所需最短时间。

【输入描述】

输入t组数据,每组数据第1行输入n,第2行输入n个数,表示每个人过河的时间。

【输出描述】

输出t行数据,每行1个数,表示每组过河最少时间。

【样例1输入】

1  4  1 2 5 10

【样例1输出】

17

【题解】最小新整数

4.最小新整数(smallest.cpp)



【题目描述】

假如:有一个十进制正整数n,每个数位上数字均不为0,并且0<n<1000000000。n的位数为m。先在从m位中删除k位(0<k<m),求生成的新整数最小为多少?

如:n=9128456,k=2,则生成的新整数最小为12456。

【输入描述】

第一行t,表示有t组数据;

接下来t行,每一行表示一组测试数据,每组测试数据包含两个数字n,k。

【输出描述】

t行,每行一个数字,表示从n行中删除k位后得到的最小整数。

【样例输入】

2  9128456 2  1444 3



【样例输出】

12456  1

标签: 贪心

作者:亿万年的星光 分类:题解目录 浏览:2131

【贪心】最大子矩阵

【题目描述】

已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1X1)子矩阵。

比如,如下4 x 4的矩阵

0    -2    -7    0

9    2    -6    2

-4    1    4    1

-1    8    0    -2

的最大子矩阵是

9    2

-4    1

-1    8

这个子矩阵的大小是15。

【输入描述】

输入是一个N x NN(0<N<=100)。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数...)给出矩阵中的N2个整数,整数之间由空白字符分隔(空格或者空行)。已知矩阵中整数的范围都在[-127,127]。



【输出描述】

最大子矩阵的大小

【样例输入】

4   0 -2 -7  0   9  2 -6  2  -4  1 -4  1  -1  8  0 -2

【样例输出】

15

标签: 贪心

作者:亿万年的星光 分类:算法 浏览:19745