《百度2016研发工程师在线编程题及答案.pdf》由会员分享,可在线阅读,更多相关《百度2016研发工程师在线编程题及答案.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C 市现在要转移一批罪犯到 D 市,C 市有 n 名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的 c 名犯人,同时要求转移犯人的罪行值之和不超过 t,问有多少种选择的方式?1234567891011121314151617181920212223import java.util.Scanner;public class Mainpublic static void main(String args)Scanner in=new Scanner(System.in);while(in.hasNext()int n = in.nex
2、tInt();/n 个人int t = in.nextInt();/int c = in.nextInt();/连续 c 名int a = new intn;for(int i = 0;in;i+)ai = in.nextInt();int count =0;int tempt =0;for(int i = 0;ic;i+)tempt += ai;if(tempt=t)count+;for(int i = c;ia.length;i+)tempt = tempt+ai-ai-c;if(tempt=t)count+;2425262728System.out.println(count);度度熊有
3、一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数 x,y 来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。12345678910111213141516import java.util.Scanner;public class Mainpublic static void main(String args)Scanner in = new Scanner(System.in);while(in.hasNext()int n = in.nex
4、tInt();int maxX = Integer.MIN_VALUE;int maxY = Integer.MIN_VALUE;int minX = Integer.MAX_VALUE;int minY = Integer.MAX_VALUE;for(int i = 0;in;i+)int x = in.nextInt();int y = in.nextInt();maxX = (int) Math.max(maxX,x);maxY = (int) Math.max(maxY,y);minX = (int) Math.min(minX,x);17181920212223minY = (int
5、) Math.min(minY,y);int side = Math.max(maxX-minX),(maxY-minY);System.out.println(side*side);ss 请 cc 来家里钓鱼,鱼塘可划分为 nm 的格子,每个格子每分钟有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而 ss 每分钟随机钓一个格子。问t 分钟后他们谁至少钓到一条鱼的概率大?为多少?123456789101112131415import java.util.Scanner;public class Mainpublic static void main(String args)Scann
6、er in = new Scanner(System.in);while (in.hasNext() /注意 while 处理多个 caseString s1 = in.nextLine().split( );int n = Integer.parseInt(s10);int m = Integer.parseInt(s11);int x = Integer.parseInt(s12);int y = Integer.parseInt(s13);int t = Integer.parseInt(s14);/int n = in.nextInt();/int m = in.nextInt();/
7、int x = in.nextInt();/int y = in.nextInt();1617181920212223242526272829303132333435363738394041/int t = in.nextInt();double ccp =0.00;double ssp =0.00;for(int i = 1;i=n;i+)String s = in.nextLine().split( );for(int j = 1;j=m;j+)double p = 1-Double.parseDouble(sj-1);/double p = 1-in.nextDouble();/钓不到鱼
8、的概率if(i=x&j=y)ccp = p;ssp += p;ssp /= (n*m);/期望if(ccpssp)System.out.println(ss);System.out.printf(%.2fn, 1-Math.pow(ssp,t);elseSystem.out.println(equal);System.out.printf(%.2fn, 1-Math.pow(ccp,t);42现在有两个好友 A 和 B,住在一片长有蘑菇的由 nm 个方格组成的草地,A 在(1,1),B 在(n,m)。现在 A 想要拜访B,由于她只想去 B 的家,所以每次她只会走(i,j+1)或(i+1,j)这
9、样的路线,在草地上有 k 个蘑菇种在格子里(多个蘑菇可能在同一方格),问:A 如果每一步随机选择的话(若她在边界上,则只有一种选择),那么她不碰到蘑菇走到B 的家的概率是多少?1234567891011121314151617181920/直接用概率进行 DP,用路径数是不对的import java.util.Scanner;public class Mainpublic static void main(String args)Scanner sca = new Scanner(System.in);while(sca.hasNext()int n = sca.nextInt();int m
10、 = sca.nextInt();int k = sca.nextInt();boolean map = new booleannm;for(int i = 0; i k; i+) int x = sca.nextInt()-1;int y = sca.nextInt()-1;mapxy = true;double cw = new doublenm;cw00 = 1;for(int i = 0; i n; i+)for(int j = 0; j m; j+)212223242526272829303132if(mapij) cwij = 0;else if(i = 0 & j = 0) else cwij =(j-10?0:(i+1n?cwij-1*0.5:cwij-1)+(i-10?0:(j+1m?cwi-1j*0.5:cwi-1j);/System.out.print(String.format(%.5f,cwij)+ );/System.out.println();double res = cwn-1m-1;System.out.println(String.format(%.2f, res);