Semaine4 CSP-M1 A - coucous aventure Est

Description du sujet:

Coucou Est est un enfant enjoué, un jour, il a obtenu un anneau magique des ruines antiques. Cet anneau d'un alphabet composé de bout en bout des anneaux, un pointeur annulaire initialement pointe vers la lettre a. Coucou Est chacun peut tourner dans le sens horaire ou antihoraire d'un espace. Par exemple, une rotation dans le sens horaire à z, rotation de sens anti-horaire à b. Coucou les mains est d'une chaîne, mais il est muet, alors il est venu demander votre aide, demandez combien de fois tourner le minimum requis pour obtenir la chaîne

idées:

À partir d'un nombre peut être transféré à un autre nombre x fois dans un sens ou de y, alors x ≡ y (mod 26), en prenant x, y qui plus petite valeur absolue, à répéter

Résumé:

Notez que le problème peut être abstrait, abstrait au niveau plus simple, mieux

code:

. 1 #include <cstdio>
 2 #include <le iostream>
 3. #Include <CString>
 4. #Include <algorithme>
 5.  L'aide de l'  espace de noms STD;
 . 6  // pas nécessaire de stocker les lettres 
. 7  int point = 0 , ANS = 0 , maintenant;
 . 8  carbonisation T [ 10005 ];
 . 9  int () principal
 10  {
 . 11      // valeur absolue du minimum de deux nombres matrice 26 avec le reste 
12 est      Scanf ( " % S " , T),
 13 est      int len = strlen (T); 
 14     pour ( int i = 0 ; i <len; i ++ )
 15      {
 16          maintenant = t [i] - ' a ' ;
17          int t1 = abs (maintenant- point);
18          int t2 = abs ( 26 - t1);
19          ans + = min (t1, t2);
20          Point = maintenant;
21      }
 22      Cout << ans << endl;
23 }

 

Je suppose que tu aimes

Origine www.cnblogs.com/qingoba/p/12511073.html
conseillé
Classement