谁家孩子跑最快.....

阅读: 评论:0

谁家孩子跑最快.....

谁家孩子跑最快.....

/*问题描述:张王李三家各有三个小孩。一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,
跑第一得9分,跑第2得8分,依此类推。比赛结果各家的总分相同,且这些孩子没有同时到达终点的,
也没有一家的两个或三个孩子获得相连的名次。已知获第一名的是李家的孩子,获得第二的是王家的孩子。
问获得最后一名的是谁家的孩子?

*/ 

  1. #include<iostream>
  2. using namespace std;
  3. int Label[9],Score[3];//标记各名次是谁家孩子(1-Li,2-Wang,3-Zhang) ,三家孩子得得分
  4. int main(){
  5.  //每家孩子只能得15分
  6.  void Run(int P);
  7.  Score[0]=9;
  8.  Label[0]=1;/*李家孩子第一名*/
  9.  Score[1]=8;
  10.  Label[1]=2;/*王家孩子第一名*/
  11.     Run(3);
  12.  return 0;
  13. }
  14. void Run(int P){/*P代表当前为第几名*/
  15.  if(P==10){
  16.    if(Score[0]==15 && Score[1]==15 && Score[2]==15)
  17.     for(int i=0;i<9;i++){
  18.      switch(Label[i]){
  19.      case 1:cout<<"第"<<i+1<<"名为:"<<"李家的孩子"<<endl;break;
  20.      case 2:cout<<"第"<<i+1<<"名为:"<<"王家的孩子"<<endl;break;
  21.      case 3:cout<<"第"<<i+1<<"名为:"<<"张家的孩子"<<endl;break;
  22.      default:break;
  23.      }
  24.     }
  25.   return;
  26.  }
  27.  else{
  28.   for(int i=1;i<=3;i++){
  29.    if(Label[P-2]!=i){//前后必须不同家
  30.     Score[i-1]+=10-P;
  31.     Label[P-1]=i;
  32.     Run(P+1);
  33.                 Score[i-1]-=10-P;
  34.    }
  35.   }
  36.  }
  37. }

本文发布于:2024-02-04 14:31:22,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170709392556386.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:最快   孩子
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23