#include <stdio.h>
int strend(const char *s, const char *t)
{
const char *p;
size_t n, m;
for (p=t; *p; ++p);
m = p - t;
for (p=s; *p; ++p);
n = p - s;
if (n < m)
return 0;
for (s += n - m; s != p; ++s, ++t)
if (*s != *t)
return 0;
return 1;
}
#define CHECK(s,t) printf("%-7s %-7s => %d\n", s, t, strend(s, t))
int main(void)
{
CHECK("abc", "c");
CHECK("a", "a");
CHECK("a", "ab");
CHECK("abc", "");
CHECK("", "");
CHECK("aaaaa", "aaab");
CHECK("", "q");
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgc3RyZW5kKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKnQpCnsKICBjb25zdCBjaGFyICpwOwogIHNpemVfdCBuLCBtOwoKICBmb3IgKHA9dDsgKnA7ICsrcCk7CiAgbSA9IHAgLSB0OwoKICBmb3IgKHA9czsgKnA7ICsrcCk7CiAgbiA9IHAgLSBzOwoKICBpZiAobiA8IG0pCiAgICByZXR1cm4gMDsKCiAgZm9yIChzICs9IG4gLSBtOyBzICE9IHA7ICsrcywgKyt0KQogICAgaWYgKCpzICE9ICp0KQogICAgICByZXR1cm4gMDsKCiAgcmV0dXJuIDE7Cn0KCiNkZWZpbmUgQ0hFQ0socyx0KSBwcmludGYoIiUtN3MgJS03cyA9PiAlZFxuIiwgcywgdCwgc3RyZW5kKHMsIHQpKQoKaW50IG1haW4odm9pZCkKewogIENIRUNLKCJhYmMiLCAiYyIpOwogIENIRUNLKCJhIiwgImEiKTsKICBDSEVDSygiYSIsICJhYiIpOwogIENIRUNLKCJhYmMiLCAiIik7CiAgQ0hFQ0soIiIsICIiKTsKICBDSEVDSygiYWFhYWEiLCAiYWFhYiIpOwogIENIRUNLKCIiLCAicSIpOwogIAogIHJldHVybiAwOwp9Cg==