#include <stdio.h>
#include <ctype.h>
int ishyphen( int ch) {
return ch == '-' ;
}
int isdate( const char * s) {
unsigned q;
int ( * f[ ] ) ( int ) = {
} ;
for ( q= 0 ; q < sizeof f / sizeof * f; ++ q)
if ( ! f[ q] ( s[ q] ) )
return 0 ;
return ! s[ q] ;
}
int main( void ) {
char s[ 256 ] ;
printf ( "%s - %s\n " , s
, isdate
( s
) ? "yes" : "no" ) ; }
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxjdHlwZS5oPgoKaW50IGlzaHlwaGVuKGludCBjaCkgewoJcmV0dXJuIGNoID09ICctJzsKfQoKaW50IGlzZGF0ZShjb25zdCBjaGFyICpzKSB7Cgl1bnNpZ25lZCBxOwoJaW50ICgqZltdKShpbnQpPSB7CgkJaXNkaWdpdCwgaXNkaWdpdCwgaXNkaWdpdCwgaXNkaWdpdCwgaXNoeXBoZW4sCgkJaXNkaWdpdCwgaXNkaWdpdCwgaXNoeXBoZW4sCgkJaXNkaWdpdCwgaXNkaWdpdAoJfTsKCQoJZm9yIChxPTA7IHEgPCBzaXplb2YgZiAvIHNpemVvZiAqZjsgKytxKQoJCWlmICghZltxXShzW3FdKSkKCQkJcmV0dXJuIDA7CgkJCQoJcmV0dXJuICFzW3FdOwp9CgppbnQgbWFpbih2b2lkKSB7CgljaGFyIHNbMjU2XTsKCQoJd2hpbGUoZ2V0cyhzKSkgewoJCXByaW50ZigiJXMgLSAlc1xuIiwgcywgaXNkYXRlKHMpID8gInllcyIgOiAibm8iKTsKCX0KCQoJcmV0dXJuIDA7Cn0K
stdin
MjAxNS0wOS0wMQoyMDE1LTA4LWFhCjIwMTIvMDgtMjYKMjAxNS0wOC1fMjYKMjAxMi9hYS0yNgoyMDEyLS04LTI2CjIwMTI9MDgtMjYKMjAxNC0wMjgtMjYKMjAxMS0oOC0yNgoyMDExLSgtLTI2CjIwMTEtLS0tMjYKMjMxMS0oOC0yNg==
2015-09-01
2015-08-aa
2012/08-26
2015-08-_26
2012/aa-26
2012--8-26
2012=08-26
2014-028-26
2011-(8-26
2011-(--26
2011----26
2311-(8-26