<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hello world

    隨筆 - 2, 文章 - 63, 評(píng)論 - 0, 引用 - 0
    數(shù)據(jù)加載中……

    百度面試題目--螞蟻爬桿


    有一根27厘米的細(xì)木桿,在第3厘米、7厘米、11厘米、17厘米、23厘米這五個(gè)位置上各有一只螞蟻。木桿很細(xì),不能同時(shí)通過(guò)一只螞蟻。開始時(shí),螞蟻的 頭朝左還是朝右是任意的,它們只會(huì)朝前走或調(diào)頭,但不會(huì)后退。當(dāng)任意兩只螞蟻碰頭時(shí),兩只螞蟻會(huì)同時(shí)調(diào)頭朝反方向走。假設(shè)螞蟻們每秒鐘可以走一厘米的距 離。編寫程序,求所有螞蟻都離開木桿的最小時(shí)間和最大時(shí)間。

    public?class?AntGame?{
    ????
    private?int?maxTime=0,minTime=99999999;
    ????Ant[]?ant
    =new?Ant[5];
    ????Ant?head
    =new?Ant(0,0);
    ????
    ????
    public?void?initDate(int?s){
    ????????ant[
    0]=new?Ant(3,s%2*2-1);
    ????????ant[
    1]=new?Ant(7,s/2%2*2-1);
    ????????ant[
    2]=new?Ant(11,s/4%2*2-1);
    ????????ant[
    3]=new?Ant(17,s/8%2*2-1);
    ????????ant[
    4]=new?Ant(23,s/16%2*2-1);
    ????????
    ????????head.setNext(ant[
    0]);
    ????????
    for(int?i=0;i<4;i++){
    ????????????ant[i].setNext(ant[i
    +1]);
    ????????}
    ????????ant[
    4].setNext(null);
    ????}
    ????
    ????
    public?void?findResult(){
    ????????Ant?checkAnt;
    ????????
    int?time;
    ????????
    for(int?i=0;i<32;i++){
    ????????????initDate(i);
    ????????????display();
    ????????????time
    =0;
    ????????????
    while(head.getNext()!=null){
    ????????????????
    ????????????????checkAnt
    =head.getNext();????????????????
    ????????????????
    while(checkAnt!=null){
    ????????????????????checkAnt.walk();
    ????????????????????checkAnt
    =checkAnt.getNext();
    ????????????????}
    ????????????????checkAnt
    =head;
    ????????????????
    while(checkAnt!=null&&checkAnt.getNext()!=null){
    ????????????????????
    if(checkAnt.getNext().posion<=0||checkAnt.getNext().posion>=27){
    ????????????????????????checkAnt.setNext(checkAnt.getNext().getNext());
    ????????????????????????checkAnt
    =checkAnt.getNext();
    ????????????????????}
    ????????????????????
    else?if(checkAnt.getPosion()==checkAnt.getNext().getPosion()){
    ????????????????????????checkAnt.back();
    ????????????????????????checkAnt.getNext().back();
    ????????????????????????checkAnt
    =checkAnt.getNext().getNext();
    ????????????????????}
    else????
    ????????????????????????checkAnt
    =checkAnt.getNext();
    ????????????????}
    ????????????????time
    ++;
    ????????????}
    ????????????System.out.println(time);
    ????????????
    if(time>maxTime)
    ????????????????maxTime
    =time;
    ????????????
    else?if(time<minTime)
    ????????????????minTime
    =time;
    ????????}
    ????????System.out.println(
    "minTime:"+minTime+"\tmaxTime:"+maxTime);
    ????}
    ????
    ????
    public?void?display(){
    ????????Ant?checkAnt
    =head.getNext();????????????????
    ????????
    while(checkAnt!=null){
    ????????????System.out.print(checkAnt.getPosion()
    +"?"+checkAnt.getDirection()+"\t");
    ????????????checkAnt
    =checkAnt.getNext();
    ????????}
    ????????
    //System.out.println();
    ????}
    ????
    ????
    public?static?void?main(String?arg[]){
    ????????AntGame?m
    =new?AntGame();
    ????????m.findResult();
    ????}
    ????
    ????
    private?class?Ant{
    ????????
    private?int?posion;
    ????????
    private?int?direction;//1、-1分別代表正反方向
    ????????private?Ant?next;
    ????????
    private?int?step=1;
    ????????
    public?Ant(int?posion,int?direction){
    ????????????
    this.posion=posion;
    ????????????
    this.direction=direction;
    ????????}
    ????????
    public?Ant?getNext()?{
    ????????????
    return?next;
    ????????}
    ????????
    public?void?setNext(Ant?next)?{
    ????????????
    this.next?=?next;
    ????????}
    ????????
    public?int?getPosion()?{
    ????????????
    return?posion;
    ????????}
    ????????
    public?int?getDirection()?{
    ????????????
    return?direction;
    ????????}????????
    ????????
    public?void?walk(){
    ????????????posion
    +=direction*step;
    ????????}
    ????????
    public?void?back(){
    ????????????direction
    =(direction+3)%4;
    ????????????direction
    --;
    ???????????????????????
    //運(yùn)算后1、-1互換
    ????????}
    ????}
    }

    posted on 2009-10-12 15:19 聽風(fēng) 閱讀(620) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA

    主站蜘蛛池模板: 成在线人视频免费视频 | 99在线观看精品免费99| 国产亚洲精品AA片在线观看不加载 | 亚洲视频欧洲视频| 久久国产精品免费专区| 亚洲资源在线观看| 狼群影院在线观看免费观看直播| 亚洲国产人成网站在线电影动漫| 13一14周岁毛片免费| 亚洲伊人久久大香线蕉| 一区二区无码免费视频网站| 亚洲熟女乱色一区二区三区| 欧洲精品免费一区二区三区| 国产亚洲视频在线| 亚洲综合区小说区激情区 | xxxxwww免费| 亚洲精品国产精品国自产网站| 最近高清国语中文在线观看免费| jizzjizz亚洲日本少妇| 亚洲福利中文字幕在线网址| 一级一黄在线观看视频免费| 亚洲AV无码国产丝袜在线观看 | 亚洲精品免费在线视频| 久久乐国产综合亚洲精品| 四虎国产精品免费视| 香蕉免费看一区二区三区| 久久亚洲国产精品成人AV秋霞| 在线天堂免费观看.WWW| 一级做a爰全过程免费视频毛片| 亚洲ⅴ国产v天堂a无码二区| 久久精品免费全国观看国产| 男男gay做爽爽免费视频| 亚洲成AV人片在线观看无码| 9久9久女女免费精品视频在线观看| 美女视频黄频a免费| 911精品国产亚洲日本美国韩国| 青青青国产免费一夜七次郎| 国产性生大片免费观看性| 亚洲一卡二卡三卡| 亚洲精品国产品国语在线| 四虎免费大片aⅴ入口|