From 4bc82188482e63ec52acb71985039d3d33378a7a Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Wed, 28 Mar 2018 16:50:18 +0700 Subject: Revise 09/TP-HN-2014 --- 09/TP-HN-2014/cau3.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 09/TP-HN-2014/cau3.c (limited to '09/TP-HN-2014/cau3.c') diff --git a/09/TP-HN-2014/cau3.c b/09/TP-HN-2014/cau3.c new file mode 100644 index 0000000..cbb2ce4 --- /dev/null +++ b/09/TP-HN-2014/cau3.c @@ -0,0 +1,40 @@ +#include +#include + +char ispalin(char *s, unsigned char len) +{ + unsigned char i, j; + for (i = 0; i < (len + 1) / 2; i++) + if (s[i] != s[len - i - 1]) + return 0; + return 1; +} + +unsigned char maxpalin(char s[256]) +{ + unsigned char i, j, k, len = strlen(s); + for (i = len - 1; i; i--) + for (j = 0; j + i <= len; j++) + if (ispalin(s + j, i)) + return i; +} + +int main() +{ + FILE *f = fopen("CAU3.INP", "r"); + char s[256]; + fscanf(f, "%s\n", s); + fclose(f); + + unsigned char i, count[128] = {}; + for (i = 0; i < strlen(s); count[s[i++]]++); + for (i = 1; i < 128; i++) + if (count[i]) + (*count)++; + + f = fopen("CAU3.OUT", "w"); + fprintf(f, "%hhd\n%hhd\n", *count, maxpalin(s)); + fclose(f); + + return 0; +} -- cgit 1.4.1