⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 11111111.cpp

📁 最近几年
💻 CPP
字号:
#include   <string.h>   
    
  /*##/*~~~~~~~~~~   Noted   by   Tang   Houjian(&Igrave;&AElig;&ordm;&ntilde;&frac14;ó)[2002-6-21   10:30:39]   ~~~~~~~~~~~*/   
  /*   
  /* &sup3;&Euml;×&oslash;&sup1;&laquo;&sup1;&sup2;&AElig;&ucirc;&sup3;&micro;&Ecirc;±&micro;&Auml;&raquo;&raquo;&sup3;&micro;&Icirc;&Ecirc;&Igrave;&acirc;&iexcl;&pound;&Agrave;&yacute;&Egrave;&ccedil;&acute;&Oacute;&Otilde;&frac34;A&micro;&frac12;Z&Ograve;&ordf;×&oslash;&frac14;&cedil;&Acirc;·&sup3;&micro;&pound;&not;&raquo;&raquo;&frac14;&cedil;&acute;&Icirc;&pound;&not;&Ocirc;&Uacute;&Auml;&Auml;&Agrave;&iuml;&raquo;&raquo;&sup3;&micro;&pound;&not;&Otilde;&acirc;&ETH;&copy;&Icirc;&Ecirc;&Igrave;&acirc;&Egrave;&ccedil;&ordm;&Icirc;&frac12;&acirc;&frac34;&ouml;&iexcl;&pound;   
  /* &sup3;&micro;&acute;&Icirc;&iexcl;&iexcl;&iexcl;&iexcl;&sup3;&micro;&Otilde;&frac34;   
  /* 1&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;q,w,e,r,t,y   
  /* 2&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;a,s,d,f,g,h   
  /* 3&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;z,x,c,v,b,n   
  /* 4&iexcl;&iexcl;&iexcl;&iexcl;     p,o,i,u,y,t   
  /* 5&iexcl;&iexcl;&iexcl;&iexcl;     l,k,j,h,g,f   
  /* 6&iexcl;&iexcl;&iexcl;&iexcl;     m,n,b,v,c,x   
  /* 7&iexcl;&iexcl;&iexcl;&iexcl;     q,a,z,w,s,x   
  /*   
  /*________________   Ended   Note   [2002-6-21   10:30:39]   _____________________##*/   
    
  #define   M   7     //   &sup3;&micro;&acute;&Icirc;&Ecirc;&yacute;   
    
  //   &sup3;&micro;&acute;&Icirc;&Iacute;&pound;&iquest;&iquest;&Otilde;&frac34;&Aacute;&ETH;±í   
  char   *Station[M]   =   {   
  "QWERTY",   //   &micro;&Uacute;0&acute;&Icirc;&sup3;&micro;   
  "ASDFGH",   //   &micro;&Uacute;1&acute;&Icirc;&sup3;&micro;   
  "ZXCVBN",   //   &micro;&Uacute;2&acute;&Icirc;&sup3;&micro;   
  "POIUYT",   //   &micro;&Uacute;3&acute;&Icirc;&sup3;&micro;   
  "LKJHGF",   //   &micro;&Uacute;4&acute;&Icirc;&sup3;&micro;   
  "MABVCX",   //   &micro;&Uacute;5&acute;&Icirc;&sup3;&micro;   
  "QAZWSX"};//   &micro;&Uacute;6&acute;&Icirc;&sup3;&micro;   
    
  //   &Ograve;&Ntilde;&frac34;&shy;&sup3;&Euml;×&Aring;&sup1;&yacute;&micro;&Auml;&sup3;&micro;&acute;&Icirc;&Aacute;&ETH;±í&pound;&not;&para;&Ocirc;&Oacute;&brvbar;take[i]=0±í&Ecirc;&frac34;&raquo;&sup1;&Icirc;&acute;&sup3;&Euml;×&Aring;&pound;&not;&pound;&frac12;1±í&Ecirc;&frac34;&Ograve;&Ntilde;&frac34;&shy;&sup3;&Euml;×&Aring;&sup1;&yacute;   
  int     taked[M]={0,0,0,0,0,0,0};   
    
  //   &raquo;&raquo;&sup3;&micro;&micro;&Auml;&Iuml;&Acirc;&sup3;&micro;&micro;&atilde;   
  struct   Exchange   
  {   
  static   int   Len;   //   &sup3;¤&para;&Egrave;   
  int   route;             //   &sup3;&micro;&acute;&Icirc;   
  char   pos;               //   &raquo;&raquo;&sup3;&micro;&Otilde;&frac34;&micro;&atilde;   
  }   Path[M];                     //   &raquo;&raquo;&sup3;&micro;&Acirc;·&frac34;&para;   
    
  int   Exchange::Len   =   0;   //   &sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;&Acirc;·&frac34;&para;&sup3;¤&para;&Egrave;   
    
  bool   PassBy(char   P,   char*   path)   //   &iquest;&acute;&Acirc;·&frac34;&para;path&micro;&Auml;&sup3;&micro;&Ecirc;&Ccedil;·&ntilde;&frac34;&shy;&sup1;&yacute;&micro;&atilde;P   
  {   
  while(*path!='\0')   if(   P==*(path++)   )   return   true;   
  return   false;   
  }   
    
  //   &acute;ò&Oacute;&iexcl;&Acirc;·&frac34;&para;&pound;&not;&Atilde;&raquo;&micro;&Atilde;&Euml;&micro;   
  void   print_path()     
  {   
  static   int   cnt   =   0;   
  printf("%04d",++cnt);   
  for(int   i=0;i<Path[0].Len-1;i++)   
  printf("   (%2d:   %c)   -->   ",Path[i].route+1,Path[i].pos);   
  printf("   (%2d:   %c)   ",Path[i].route+1,Path[i].pos);   
  printf("\n");   
  }   
  void   NextSearchPath(char   end,int   route)   //   &micro;&Yacute;&sup1;é&Ntilde;°&Otilde;&Ograve;&Acirc;·&frac34;&para;   
  {   
  if(   taked[route]!=0   )   return;     //   have   been   taked;   
    
  if(   PassBy(end,Station[route])   )     
  {   
  Path[Path[0].Len].pos   =   end;   
  Path[Path[0].Len].route   =   route;   
  Path[0].Len++;   
  print_path();   
  Path[0].Len--;   
  return;   
  }   
  taked[route]   =   1;   //have   been   taked;   
  Path[Path[0].Len].route   =   route;   
    
  for(int   i=0;i<strlen(Station[route]);i++)     
  {   
  char   nowPos   =   Station[route][i];   
  if(   nowPos==Path[Path[0].Len-1].pos   )   continue;   
  for(   int   j=0;   j<M;   j++)   if(   PassBy(nowPos,Station[j])   )   
  {   
  Path[Path[0].Len].pos   =   nowPos;   
  Path[0].Len++;   
  NextSearchPath(end,j);   
  Path[0].Len--;   
  }   
  }   
  taked[route]   =   0;   //have   been   taked;   
    
  }   
  void   SearchPath(char   start,   char   end)   
  {   
  for(int   i=0;i<M;i++)   if(   PassBy(start,Station[i])   )   
  {   
  Path[Path[0].Len].pos   =   start;   
  Path[Path[0].Len].route   =   i;   
  Path[0].Len++;   
  NextSearchPath(end,i);   
  Path[0].Len--;   
  }   
  }   
    
  void   main()   
  {   
  SearchPath('A','Z');   
  }   
  //&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;&pound;&shy;   
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -