欢迎来到天天文库
浏览记录
ID:38104951
大小:24.97 KB
页数:11页
时间:2019-06-06
《CCF模拟练习试题(下)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、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
2、)。hi是第i个矩形的高度。3.输出格式输出一行,包含一个整数,即给定直方图内的最大矩形的面积。样例输入6316523样例输出104.源码:importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){newMain().run();}publicvoidrun(){Scannerfin=newScanner(System.in);intN=fin.nextInt();int[]height=newint[N];for(in
3、ti=0;i=0;--j){if(height[j]4、);}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.输入格式输入只有一5、行,包括恰好一个正整数n(4≤n≤1000)。3.输出格式输出只有一行,包括恰好n位的整数中有趣的数的个数除以1000000007的余数。样例输入4样例输出34.源码:importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){newMain().run();}publicvoidrun(){Scannerfin=newScanner(System.in);intN=fin.nextInt();long[]count=ne6、wlong[8];count[6]=0;count[7]=1;longmod=1000000007;for(inti=2;i<=N;++i){long[]newCount=newlong[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+c7、ount[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’mstuck!importjava.util.*;publicclassMain{publicstaticvoidmain(String8、[]args){newMain().run();}publicvoidrun(){Scannerfin=newScanner(System.in);intR=fin.nextInt();intC=fin.nextInt();fin.nextLine();int[][]board=newint[R+2][C+2];introwStart=0,colStart=0,rowEnd=0,colEnd=0;for(inti=1;i<=R;++i){Stringline=fin.
4、);}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.输入格式输入只有一
5、行,包括恰好一个正整数n(4≤n≤1000)。3.输出格式输出只有一行,包括恰好n位的整数中有趣的数的个数除以1000000007的余数。样例输入4样例输出34.源码:importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){newMain().run();}publicvoidrun(){Scannerfin=newScanner(System.in);intN=fin.nextInt();long[]count=ne
6、wlong[8];count[6]=0;count[7]=1;longmod=1000000007;for(inti=2;i<=N;++i){long[]newCount=newlong[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+c
7、ount[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’mstuck!importjava.util.*;publicclassMain{publicstaticvoidmain(String
8、[]args){newMain().run();}publicvoidrun(){Scannerfin=newScanner(System.in);intR=fin.nextInt();intC=fin.nextInt();fin.nextLine();int[][]board=newint[R+2][C+2];introwStart=0,colStart=0,rowEnd=0,colEnd=0;for(inti=1;i<=R;++i){Stringline=fin.
此文档下载收益归作者所有