您的位置:首页 > 其它

hdu 1544 水题

2013-11-07 19:18 357 查看
  水题

/*
* Author    : ben
*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <queue>
#include <set>
#include <map>
#include <stack>
#include <string>
#include <vector>
#include <deque>
#include <list>
#include <functional>
#include <numeric>
#include <cctype>
using namespace std;
const int MAX_LEN = 5009;
char str[MAX_LEN];
int work() {
int len = strlen(str);
int ret = 0, j, k;
for(int i = 0; i < len; i++) {
j = i;
while(j >= 0) {
k = 2 * i - j;
if(k >= len || str[j] != str[k]) {
break;
}
ret++;
j--;
}
}
for(int i = 1; i < len; i++) {
j = i - 1;
if(str[j] != str[i]) {
continue;
}
while(j >= 0) {
k = 2 * i - 1 - j;
if(k >= len || str[j] != str[k]) {
break;
}
ret++;
j--;
}
}
return ret;
}

int main() {
while(scanf("%s", str) == 1) {
printf("%d\n", work());
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: