Thứ Năm, 10 tháng 1, 2019

UVa 10945 - Mother Bear * (palindrome)

Link:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=21&page=show_problem&problem=1886
Sol:
#include <iostream>
#include <string>
using namespace std;
bool IsInvalid(const char& letter)
{
return (letter == '.' || letter == ',' || letter == '!' || letter == '?' || letter == ' ');
}
bool IsPalindrome(const string& word)
{
int start = 0;
int end = word.size() -1;
while (start < end && IsInvalid(word[start]))
++start;
while (end > start && IsInvalid(word[end]))
--end;
while (start < end)
{
if (tolower(word[start]) != tolower(word[end]))
return false;
++start;
--end;
while (start < end && IsInvalid(word[start]))
++start;
while (end > start && IsInvalid(word[end]))
--end;
}
}
int main()
{
string word;
while (getline(cin, word), word != "DONE")
{
if (IsPalindrome(word))
cout << "You won't be eaten!\n";
else
cout << "Uh oh..\n";
}
}

Không có nhận xét nào:

Đăng nhận xét

Bài G - Educatioal Round 62

Đề bài: Bạn được cho 1 đồ thị vô hướng đặc biệt. Nó bao gồm $2n$ đỉnh được đánh số từ 1 đến 2n. Dưới đây là một số đặc tính của đồ thị: + ...