CCF模拟练习试题(下).docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CCF模拟练习试题(下)

CCF模拟练习试题(下)一、最大的矩形1.问题描述:在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。2.输入格式第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ≤ hi ≤ 10000)。hi是第i个矩形的高度。3.输出格式输出一行,包含一个整数,即给定直方图内的最大矩形的面积。样例输入63 1 6 5 2 3样例输出 10 4.源码:importjava.util.*;public class Main {public static void main(String[] args) {new Main().run();}public void run() {Scanner fin = new Scanner(System.in);int N = fin.nextInt();int[] height = new int[N];for (int i = 0; i N; ++i) height[i] = fin.nextInt();int result = 0;for (int i = 0; i N; ++i) {int width = 1;for (int j = i - 1; j = 0; --j) {if (height[j] height[i]) break;++width;}for (int j = i + 1; j N; ++j) {if (height[j] height[i]) break;++width;}int area = width * height[i];result = Math.max(result, area);}System.out.println(result);}}二、有趣的数1.问题描述:我们把一个数称为有趣的,当且仅当:1.1它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。1.2所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。1.3最高位数字不为0。因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。请计算恰好有n位的有趣的数的个数。由于答案可能非常大,只需要输出答案除以1000000007的余数。2.输入格式输入只有一行,包括恰好一个正整数n (4 ≤ n ≤ 1000)。3.输出格式输出只有一行,包括恰好n 位的整数中有趣的数的个数除以1000000007的余数。样例输入4样例输出34.源码:importjava.util.*;public class Main {public static void main(String[] args) {new Main().run();}public void run() {Scanner fin = new Scanner(System.in);int N = fin.nextInt();long[] count = new long[8];count[6] = 0;count[7] = 1;long mod = 1000000007;for (int i = 2; i = N; ++i) {long[] newCount = new long[8];newCount[0] = (count[0] * 2 + count[1] + count[3]) % mod;newCount[1] = (count[1] * 2 + count[2] + count[5]) % mod;newCount[2] = (count[2] + count[6]) % mod;newCount[3] = (count[3] * 2 + count[4] + count[5]) % mod;newCount[4] = (count[4] + count[7]) % mod;newCount[5] = (count[5] * 2 + count[6] + count[7]) % mod;newCount[6] = 0;newCount[7] = 1;count = newCount;}System.out.println(count[0]);}}5.I’m stuck! importjava.util.*;public class Main {public static void main(String[] args)

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档