蓝桥杯2013决赛java本科b组试题.doc

试题一:公式求值问题描述输入n,m,k,输出下面公式的值。其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数。组合数的计算公式如下。输入格式输入的第一行包含一个整数n;第二行包含一个整数m,第三行包含一个整数k。输出格式计算上面公式的值,由于答案非常大,请输出这个值除以999101的余数。样例输入313样例输出162样例输入201010样例输出359316数据规模和约定对于10%的数据,n≤10,k≤3;对于20%的数据,n≤20,k≤3;对于30%的数据,n≤1000,k≤5;对于40%的数据,n≤10^7,k≤10;对于60%的数据,n≤10^15,k≤100;对于70%的数据,n≤10^100,k≤200;对于80%的数据,n≤10^500,k≤500;对于100%的数据,n在十进制下不超过1000位,即1≤nn)return1;13.if(n==m||m==0)return1;14.if(m>n-m)m=n-m;15.longtmpi=1,tmpn=1,s1=1,s2=1,ans=1;16.for(inti=1;i>=1;32.x=(x*x)%999101;33.}34.}35.longresult=x%999101;36.n>>=1;37.while(n!=0){38.x=(x*x)%999101;;39.if((n41.n>>=1;42.}43.returnresult;44.}45.publicstaticvoidmain(String[]args){46.Scannersc=newScanner(System.in);47.BigIntegern=newBigInteger(sc.nextLine());48.BigIntegerm=newBigInteger(sc.nextLine());49.intk=Integer.parseInt(sc.nextLine());50.longstart=System.currentTimeMillis();51.BigIntegermd=newBigInteger(“999101“);52.longCnm=lucas(n,m,md).longValue()%999101;53.longsum=0;54.if(Cnm!=0){55.int[][]a=newint[k][k];56.inth=1;57.for(inti=0;i=h)60.a[i][j]=0;61.else{62.if(j==0||j==h-1)63.a[i][j]=1;64.else{65.a[i][j]=(a[i-1][j-1]*(h-j)+a[i-1][j])%999101;66.}67.}68.}69.h++;70.}71.longm1=1,n1=1;72.longx=n.subtract(newBigInteger(k+““)).mod(md.subtract(BigInteger.ONE)).longValue();73.longn3=pow1(2,x);74.for(inti=k-1;i>=0;i--){75.n1=n3*pow1(2,i)%999101;76.m1=m1*(n.subtract(newBigInteger((k-1-i)+““)).mod(md).longValue())%999101;77.sum=(sum+m1*a[k-1][i]*n1)%999101;78.}79.sum=sum*Cnm%999101;80.}81.System.out.println(sum);82.longend=System.currentTimeMillis();83.}84.85.86.}试题二:九宫重排如下面第一个图的九宫格中,放着1~8的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。我们把第一个图的局面记为:12345678.把第二个图的局面记为:123.46758显然是按从上到下,从左到右的顺序记录数字,空格记为句点。本题目的任务是已知九宫的初态和终态,求最少经过多少步的移动可以到达。如果无论多少步都无法到达,则输出-1。输入格式输入第一行包含九宫的初态,第二行包含九宫的终态。输出格式输出最少的步数,如果不存在方案,则输出-1。样例输入12345678.123.46758样例输出3样例输入13524678.46758123.样例输出22比较经典的搜索题,可以直接搜索或者使用双向搜索优化。1.importjava.io.*;2.importjava.util.*;3.publicclassMain{4.staticMaphm1=newHashMap();5.staticMaphm2=newHashMap();6.publicstaticvoidmain(Stringargs[])throwsIOException{7.BufferedReaderbf=newBufferedReader(newStreamReader(System.in));8.Stringstart=bf.readLine();9.Stringend=bf.readLine();10.char[][]a=newchar[3][3];11.char[][]b=newchar[3][3];12.intc=0,x1=0,y1=0,x2=0,y2=0;13.for(inti=0;iqnode1=newLinkedList();32.Queueqnode2=newLinkedList();33.qnode1.add(node1);34.qnode2.add(node2);35.hm1.put(node1.gettu(),0);36.hm2.put(node2.gettu(),0);37.38.System.out.println(bfs(qnode1,qnode2));39.}40.publicstaticintbfs(Queueq1,Queueq2){41.while(!q1.isEmpty()||!q2.isEmpty()){42.43.if(!q1.isEmpty()){44.Nodenode=q1.poll();45.46.intx=node.getX();47.inty=node.getY();48.if(hm2.containsKey(node.gettu())){49.returnnode.getSum()+hm2.get(node.gettu());50.}51.if(x>0){52.char[][]c=node.getCopy();53.c[x][y]=c[x-1][y];54.c[x-1][y]= . ;55.Nodenode2=newNode(node.sum+1,x-1,y,c);56.Strings=node2.gettu();57.if(hm2.containsKey(s)){58.returnnode2.getSum()+hm2.get(node2.gettu());

2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc相关推荐

  1. c语言蓝桥杯b组试题及答案,2014第五届蓝桥杯C-C++本科B组试题及答案要点-20210413045934.docx-原创力文档...

    2014第五届蓝桥杯C/C++本科B组试题及答案 标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元.小明买了若干啤酒和饮料,一共花了82.3元. 我们还知道他买的啤酒比饮料的数量少,请你计算他买了 ...

  2. # 2017年蓝桥杯省赛cc++本科B组试题

    2017年蓝桥杯省赛c/c++本科B组试题 第一题:购物单 问题 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大 ...

  3. 美团点评java面试题_最新美团面经Java,美团点评一面(面试题)

    下面要给大家分享的是一个最新的美团点评的面经,内容具体包括了一面的面试题,要去美团点评面试的小伙伴可以来了解一下哦. 注:美团点评,后台开发(实习),一面 一.面试时长 一共花费了五十分钟左右 一.面 ...

  4. 双表查询java代码_什么是JDBC?Java数据库连接性简介

    JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...

  5. java安装_我最喜欢的Java高级开发人员书籍

    java安装 我上一篇博客文章(我对高级Java开发人员的十个最喜欢的在线资源)的想法,是由Xiaoran Wang发表的 "面向高级Java开发人员的十大网站"的启发. Wang ...

  6. 高级java开发_我最喜欢的Java高级开发人员书籍

    高级java开发 我上一篇博客文章 (我对高级Java开发人员的十个最喜欢的在线资源)的想法,是由Xiaoran Wang发表的"面向高级Java开发人员的十大网站"的启发. Wa ...

  7. java书籍_非科班,自学java需要把软件工程的课程全部学习完吗?

    问题一:非科班是否能自学Java.问题二:自学Java是否需要把软件工程课程全部学完?问题三:如何自学Java? 解决问题一:非科班是否能自学Java.不知道你是否有这个担心疑虑,从事Java技术开发 ...

  8. java组件_三个必不可少的Java平台组件:什么是JVM,JDK,JRE?有啥区别?

    刚接触Java的开发人员经常想知道Java虚拟机,Java开发工具包和Java运行时环境与众不同的地方.他们也很好奇这三个Java平台组件如何在Java应用程序中一起工作.最后,开发人员需要知道他们将 ...

  9. 如何java面试_短时间如何过java面试?

    这题我会!作为一个编程界老司机,我曾总结过一套Java常见的面试考点大全,不知道帮助过多少程序员拿下offer. 现在我把这套Java面试大全放出来,希望对大家有所帮助! 本文内容过长,建议大家先赞后 ...

最新文章

  1. linux nor flash 读写,9.2 NorFLASH读写实验——M25PExx
  2. 语言模型如何为大象“称”体重?斯坦福提出“尺度探测”新思路
  3. 黄聪:基于Linq to edmx的实体数据模型(EDM)类名批量修改工具
  4. M2 Planning Day3
  5. .Net轻量状态机Stateless
  6. linux设置组配置额步骤,linux 中磁盘配额设置
  7. 通过C++的try和catch来捕获SEH异常
  8. ABP框架源码学习之修改默认数据库表前缀或表名称
  9. [转]老婆还是自己好
  10. Spring中EmptyResultDataAccessException异常产生的原理及处理方法
  11. 剑指offer题目大全
  12. SOAP协议的深度解析
  13. Linux服务器下安装ANSYS
  14. 大咖访谈丨金星分享2020年直播数据,助农产品如何走上产销快车道
  15. 【Active Learning - 12】一种基于生成对抗网络的二阶段主动学习方法
  16. 关于CS找实习的不完整经验
  17. 三运放差分放大电路分析_三运放组成的差分放大器电路图及特点
  18. 【CV】FPN:用于目标检测的特征金字塔网络
  19. 设计技巧之:LOGO色彩搭配
  20. 3D建模师的工作环境到底是怎么样的?10年建模师:没有艺术天分,建模是我最好的选择

热门文章

  1. 数据库课程设计基于php,数据库课程设计(DatabaseCourseDesign)
  2. java关闭按钮代码_Java高手看看如何实现关闭按钮
  3. wincc怎么做一个弹出画面_wincc怎样弹出确认窗口?
  4. python给生活带来哪些改变_Python - 笔记1
  5. kext updater使用方法_语言清晰度测量方法的前世今生
  6. linux打印机怎么设置631端口,设置 Linux 下打印机的几种方式
  7. java输出目录节点_节点如果不存在,如何创建目录?
  8. linux下qt制作日历,基于QT的多功能日历设计与开发.doc
  9. Spark RDD 复杂算子
  10. linux 命令行图形界面切换