2012年11月5日 星期一

迴文

內容 :

  迴文是運用相同詞彙、相反順序組合而成的語句,是一種修辭法,也有人把它當做文字遊戲。
  一個迴文可以是一個句子:「上海自來水來自海上」;也可以分為上下兩句:「人人為我,我為人人。」甚至可以是一首詩:

枯眼望遙山隔水,往來曾見幾心知。
壺空怕酌一杯酒,筆下難成和韻詩。
迷路阻人離別久,訊音無雁寄回遲。
孤燈夜守長寥寂,夫憶妻兮父憶兒。
兒憶父兮妻憶夫,寂寥長守夜燈孤。
遲回寄雁無音訊,久別離人阻路迷。
詩韻和成難下筆,酒杯一酌怕空壺。
知心幾見曾來往,水隔山遙望眼枯。


輸入說明 :
  第一行有一個整數 T,代表接下來有幾組測試資料。

  每一組測試資料有一個字串,字串是由小寫的英文字母所組成,每個字串的長度不會超過 100。


輸出說明 :
對每筆測試資料判斷是不是迴文 (字串正著讀和反著讀是否一樣) :如果是的話就輸出 “yes”,否則就輸出 “no”。

範例輸入 :
3
abcba
abba
abc

範例輸出 :
yes
yes
no

3 則留言:

  1. Dim strr, ans1, ans2 As String
    Dim mycount As Integer
    Private Sub Form_Load()
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, mycount
    For i = 1 To mycount
    Input #1, strr

    For ii = 1 To Len(strr)
    ans1 = ans1 & Mid(strr, ii, 1)
    Next

    For iii = Len(strr) To 1 Step -1
    ans2 = ans2 & Mid(strr, iii, 1)
    Next

    If ans1 = ans2 Then Print #2, "yes"
    If ans1 <> ans2 Then Print #2, "no"
    Next
    Close #2
    Close #1
    End Sub

    回覆刪除
  2. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, n
    For i = 1 To n
    Line Input #1, x
    l = Len(x)
    l = l \ 2
    k = Right(x, l)
    w = Left(x, l)
    For t = l To 1 Step -1
    e = e & Mid(w, t, 1)
    Next
    If k = e Then
    Print #2, "yes"
    Else
    Print #2, "no"
    End If
    e = ""
    Next
    Close #2
    Close #1
    End
    End Sub

    回覆刪除
  3. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Input #1, x
    For i = 1 To x
    Input #1, n
    s = False
    For j = 1 To Len(n)
    a = a & Mid(n, j, 1)
    Next
    For k = Len(n) To 1 Step -1
    b = b & Mid(n, k, 1)
    Next
    If a = b Then Print #2, "Yes" Else Print #2, "No"
    Next
    Close
    Close
    End
    End Sub

    回覆刪除