件名の説明:
カッコウ東は遊び心の子で、1日、彼は古代の遺跡からの魔法のリングを得ました。エンドリングに端から成るアルファベットからこのリング、リングポインタは、最初に文字Aを指します。カッコウ東各缶に回転時計回りまたは反時計回りにスペース。例えばBにZ、反時計回りの回転により、時計回りの回転。カッコウ文字列の手東が、彼は、彼はあなたの助けを求めるために来たので、最小をオンにする方法を何回も聞いて、ダムでは、文字列を取得するために必要な
アイデア:
番号が別の番号に転送することができるからのX回時計方向またはYの反時計回りに、次にX≡Y(MOD 26)、X、Yを取るその絶対値が小さいほど、繰り返します
要約:
注この問題は、より簡単なレベルに抽象的、抽象的なことができることを、より良いです
コード:
1の#include <cstdioを> 2の#include <入出力ストリーム> 。3の#include <CStringの> 4の#include <アルゴリズム> 5。 使用した 名前空間STD; 6 // 文字を記憶する必要はない 7。 INTポイント= 0、ANS = 0 、今、 8 文字 T [ 10005 ]; 9 INT ()メイン 10 { 11 // 2つの数の最小値の絶対値が残って26をダイ 12は scanfの(" %のS " 、T); 13である INT LEN = STRLEN(T); 14 以下のために(INT iが= 0 ; I <LEN; I ++ ) 15 { 16 今や= T [I] - ' ' 。 17 INT T1 = ABS(NOW- 点)。 18 INT T2 = ABS(26 - T1)。 19 ANS + = 分(T1、T2)。 20 点は= 今。 21 } 22 COUT << ANS << ENDL。 23 }