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碰到了一點(diǎn)小麻煩,因?yàn)樗⒉幌馠ermione那樣能夠記住所有的咒語而隨意的將一個(gè)棒球變成刺猬什么的,但是他發(fā)現(xiàn)了變形咒語的一個(gè)統(tǒng)一規(guī)律:如果咒語是以a開頭b結(jié)尾的一個(gè)單詞,那么它的作用就恰好是使A物體變成B物體.Harry已經(jīng)將他所會(huì)的所有咒語都列成了一個(gè)表,他想讓你幫忙計(jì)算一下他是否能完成老師的作業(yè),將一個(gè)B(ball)變成一個(gè)M(Mouse),你知道,如果他自己不能完成的話,他就只好向Hermione請(qǐng)教,并且被迫聽一大堆好好學(xué)習(xí)的道理.
Input
測(cè)試數(shù)據(jù)有多組。每組有多行,每行一個(gè)單詞,僅包括小寫字母,是Harry所會(huì)的所有咒語.數(shù)字0表示一組輸入結(jié)束.Output
如果Harry可以完成他的作業(yè),就輸出"Yes.",否則就輸出"No."(不要忽略了句號(hào))Sample Input
so soon river goes them got moon begin big 0Sample Output
Yes.Hint
HintHarry 可以念這個(gè)咒語:"big-got-them".
Source
Gardon-DYGG Contest 1補(bǔ)充:
(一)strcmp函數(shù)??
???????? strcmp函數(shù)是比較兩個(gè)字符串的大小,返回比較的結(jié)果。一般形式是:??
???????????????? i=strcmp(字符串,字符串);
???????? 其中,字符串1、字符串2均可為字符串常量或變量;i?? 是用于存放比較結(jié)果的整型變量。比較結(jié)果是這樣規(guī)定的:??
①字符串1小于字符串2,strcmp函數(shù)返回一個(gè)負(fù)值;
②字符串1等于字符串2,strcmp函數(shù)返回零;
③字符串1大于字符串2,strcmp函數(shù)返回一個(gè)正值;那么,字符中的大小是如何比較的呢?來看一個(gè)例子。
???????? 實(shí)際上,字符串的比較是比較字符串中各對(duì)字符的ASCII碼。首先比較兩個(gè)串的第一個(gè)字符,若不相等,則停止比較并得出大于或小于的結(jié)果;如果相等就接著 比較第二個(gè)字符然后第三個(gè)字符等等。如果兩上字符串前面的字符一直相等,像"disk"和"disks"?? 那樣,?? 前四個(gè)字符都一樣,?? 然后比較第 五個(gè)字符,?? 前一個(gè)字符串"disk"只剩下結(jié)束符'/0',后一個(gè)字符串"disks"剩下's','/0'的ASCII碼小于's'的ASCII 碼,所以得出了結(jié)果。因此無論兩個(gè)字符串是什么樣,strcmp函數(shù)最多比較到其中一個(gè)字符串遇到結(jié)束符'/0'為止,就能得出結(jié)果。
注意:字符串是數(shù)組類型而非簡(jiǎn)單類型,不能用關(guān)系運(yùn)算進(jìn)行大小比較。??
???????? if("ABC">"DEF")?? /*錯(cuò)誤的字符串比較*/
???????? if(strcmp("ABC","DEF")?? /*正確的字符串比較*/
(二)strcpy函數(shù)??
???????? strcpy函數(shù)用于實(shí)現(xiàn)兩個(gè)字符串的拷貝。一般形式是:??
???????????????? strcpy(字符中1,字符串2)
???????? 其中,字符串1必須是字符串變量,而不能是字符串常量。strcpy函數(shù)把字符串2的內(nèi)容完全復(fù)制到字符串1中,而不管字符串1中原先存放的是什么。復(fù)制后,字符串2保持不變。??
例:????
???????? 注意,由于字符串是數(shù)組類型,所以兩個(gè)字符串復(fù)制不通過賦值運(yùn)算進(jìn)行。??
???????? t=s;?? /*錯(cuò)誤的字符串復(fù)制*/
???????? strcpy(t,s);?? /*正確的字符串復(fù)制*/
總結(jié)
以上是生活随笔為你收集整理的HDOJ-1181 字符串首尾相连问题[DFS()+strcmp()]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下C/C++开发工具注意事项
- 下一篇: 设计,成本与开发细节的讨论