呃......變形課上harry碰到了一點小麻煩,因為他並不像hermione那樣能夠記住所有的咒語而隨意的將乙個棒球變成刺蝟什麼的,但是他發現了變形咒語的乙個統一規律:如果咒語是以a開頭b結尾的乙個單詞,那麼它的作用就恰好是使a物體變成b物體.
harry已經將他所會的所有咒語都列成了乙個表,他想讓你幫忙計算一下他是否能完成老師的作業,將乙個b(ball)變成乙個m(mouse),你知道,如果他自己不能完成的話,他就只好向hermione請教,並且被迫聽一大堆好好學習的道理.
測試資料有多組。每組有多行,每行乙個單詞,僅包括小寫字母,是harry所會的所有咒語.數字0表示一組輸入結束.
如果harry可以完成他的作業,就輸出"yes.",否則就輸出"no."(不要忽略了句號)
sosoon
river
goes
them
gotmoon
begin
big0
yes.
hint harry 可以念這個咒語:"big-got-them".先輸入字串,用新二維陣列c,記錄字串首末字母,c[首字母-'a'][末字母-'a'],並標記為1,找出首字母為b的字串記錄莫字母,然找出以b為首字母的字母串的莫字母為首的字串,用c標記為1,(a~b,b~c,標記c[a][c]=1),再次尋找以b為首字母的字串並省略已經找過的字串。
1 #include2 #include3#define m 10000
4char
str[m][m];
5int k[m],c[26][26],key[27];6
inti,j;
7int
main()
820 c[str[1][0]-'
a'][str[1][strlen(str[1])-1]-'
a']=1;21
while(scanf("
%s",&str[++i]) && str[i][0] != '0'
)2226 key[1]=1;27
for(j = 0 ; j < 25 ; j++)
2836}37
if(i == 12 || i == 26)38
41for(num= 0 ; num < 26 ; num++)
4247}48
}49if(i == 12
)50 printf("
yes.\n");
51else
52 printf("
no.\n");
53}54 }
杭電1181變形課
變形課 time limit 1000msmemory limit 65536kb64bit io format i64d i64u submit status description 呃.變形課上harry碰到了一點小麻煩,因為他並不像hermione那樣能夠記住所有的咒語而隨意的將乙個棒球變成刺...
杭電oj 1181 變形課(經典dfs)
題目鏈結 據說這道題有很多解法,今天先寫dfs的。對於每乙個字串進行處理,只保留首字母和末位字母,如果兩者相同不保留。然後就是經典的dfs步驟了。include using namespace std int cnt,flag string s struct mgcarr 1000 bool vis...
杭電1811 變形課(dfs)
problem description 呃.變形課上harry碰到了一點小麻煩,因為他並不像hermione那樣能夠記住所有的咒語而隨意的將乙個棒球變成刺蝟什麼的,但是他發現了變形咒語的乙個統一規律 如果咒語是以a開頭b結尾的乙個單詞,那麼它的作用就恰好是使a物體變成b物體.harry已經將他所會的...