HDOJ-1181 字符串首尾相连问题[DFS()+strcmp()]
變形課
Time Limit : 2000/1000ms (Java/Other)???Memory Limit : 131072/65536K (Java/Other)
Total Submission(s) : 4???Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
呃......變形課上Harry碰到了一點小麻煩,因為他并不像Hermione那樣能夠記住所有的咒語而隨意的將一個棒球變成刺猬什么的,但是他發現了變形咒語的一個統一規律:如果咒語是以a開頭b結尾的一個單詞,那么它的作用就恰好是使A物體變成B物體.Harry已經將他所會的所有咒語都列成了一個表,他想讓你幫忙計算一下他是否能完成老師的作業,將一個B(ball)變成一個M(Mouse),你知道,如果他自己不能完成的話,他就只好向Hermione請教,并且被迫聽一大堆好好學習的道理.
Input
測試數據有多組。每組有多行,每行一個單詞,僅包括小寫字母,是Harry所會的所有咒語.數字0表示一組輸入結束.Output
如果Harry可以完成他的作業,就輸出"Yes.",否則就輸出"No."(不要忽略了句號)Sample Input
so soon river goes them got moon begin big 0Sample Output
Yes.Hint
HintHarry 可以念這個咒語:"big-got-them".
Source
Gardon-DYGG Contest 1補充:
(一)strcmp函數??
???????? strcmp函數是比較兩個字符串的大小,返回比較的結果。一般形式是:??
???????????????? i=strcmp(字符串,字符串);
???????? 其中,字符串1、字符串2均可為字符串常量或變量;i?? 是用于存放比較結果的整型變量。比較結果是這樣規定的:??
①字符串1小于字符串2,strcmp函數返回一個負值;
②字符串1等于字符串2,strcmp函數返回零;
③字符串1大于字符串2,strcmp函數返回一個正值;那么,字符中的大小是如何比較的呢?來看一個例子。
???????? 實際上,字符串的比較是比較字符串中各對字符的ASCII碼。首先比較兩個串的第一個字符,若不相等,則停止比較并得出大于或小于的結果;如果相等就接著 比較第二個字符然后第三個字符等等。如果兩上字符串前面的字符一直相等,像"disk"和"disks"?? 那樣,?? 前四個字符都一樣,?? 然后比較第 五個字符,?? 前一個字符串"disk"只剩下結束符'/0',后一個字符串"disks"剩下's','/0'的ASCII碼小于's'的ASCII 碼,所以得出了結果。因此無論兩個字符串是什么樣,strcmp函數最多比較到其中一個字符串遇到結束符'/0'為止,就能得出結果。
注意:字符串是數組類型而非簡單類型,不能用關系運算進行大小比較。??
???????? if("ABC">"DEF")?? /*錯誤的字符串比較*/
???????? if(strcmp("ABC","DEF")?? /*正確的字符串比較*/
(二)strcpy函數??
???????? strcpy函數用于實現兩個字符串的拷貝。一般形式是:??
???????????????? strcpy(字符中1,字符串2)
???????? 其中,字符串1必須是字符串變量,而不能是字符串常量。strcpy函數把字符串2的內容完全復制到字符串1中,而不管字符串1中原先存放的是什么。復制后,字符串2保持不變。??
例:????
???????? 注意,由于字符串是數組類型,所以兩個字符串復制不通過賦值運算進行。??
???????? t=s;?? /*錯誤的字符串復制*/
???????? strcpy(t,s);?? /*正確的字符串復制*/
總結
以上是生活随笔為你收集整理的HDOJ-1181 字符串首尾相连问题[DFS()+strcmp()]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下C/C++开发工具注意事项
- 下一篇: TurboMail邮件系统通过涉密信息系