+B的值:#include<>intmain(){inta,b;cin>>a>>b;cout<<a+b<<endl;},找最大值:第一行为整数n,表示n个数。第二行输入n个整数。输出最大值import;lassMain{publicstaticvoidmain(String[]args)throwsException{Scannerinput=newScanner();intn=();intarr[]=newint[n];for(inti=0;i<n;i++){arr[i]=();}intmax=arr[0];for(inti=1;i<n;i++){if(arr[i]>max){max=arr[i];}};}},n个士兵散乱地站在网格点上。网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、下、左、右移动一步,但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排列成(x,y),(x+1,y),…,(x+n-1,y)。如何选择x和y的值才能使士兵们以最少的总移动步数排成一列。计算使所有士兵排成一行需要的最少移动步数。输入:第1行是士兵数n,1?n?10000。接下来n行是士兵的初始位置,每行2个整数x和y,-10000《=x,y《=10000。输出:第1行中的数是士兵排成一行需要的最少移动步数。#include<iostream>#include<cmath>#include<algorithm>usingnamespacestd;intmain(){intn;intx[10000],y[10000],z[10000];while(cin>>n){for(inti=0;i<n;i++)cin>>x[i]>>y[i];sort(x,x+n);sort(y,y+n);intmidy=y[(n+1)/2-1];for(inti=0;i<n;i++)x[i]-=i;sort(x,x+n);intmidx=x[(n+1)/2-1];inttotal=0;for(inti=0;i<n;i++)total+=abs(x[i]-midx)+abs(y[i]-midy);cout<<total<<endl;}return0;}中位数:设X[0:n-1]和Y[0:n-1]为两个数组,每个数组中含有n个已排好序的数。试设计一个O(logn)时间算法,找出X和Y的2n个数的中位数。输入:第一行:n,为x和y数组的元素个数第二行:x数组的n个数,用空格分隔第三行:y数组的n个数,用空格分隔输出:中位数两个,用空格分隔import;lassMain{publicstaticvoidmain(String[]args)throwsException{Scannerinput=newScanner();intn=();intarr1[]=newint[n];intarr2[]=newint[n];for(inti=0;i<n;i++){arr1[i]=();}for(inti=0;i<n;i++){arr2[
算法分析经典算法题 来自淘豆网m.daumloan.com转载请标明出处.