UVA257 Palinwords题解


题目:传送门

思路:

哈希+排序,先分类讨论长度为 \(3\)\(4\) 的回文字符串,求出其哈希值,再对哈希值排序,最后循环依次比较哈希值是否不同即可。(求哈希值时需处理两个回文串是否包含)(详见代码)

代码:

#include 
  using namespace std;
const int w=131;
int l,u[300],v,s,i;
string a;
int main()
{
	std::ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	while (cin>>a)
	{
		l=a.length();
		v=0;
		for (i=0;i