Fotolog

A través del espejo
2010-10-12: A través del espejo
¡La radio habla en binario!
2010-10-10: ¡La radio habla en binario!
Gigaminx (regalo por mi cumple)
2010-09-16: Gigaminx (regalo por mi cumple)
Trini en bici
2010-09-05: Trini en bici
Valporquero
2010-08-28: Valporquero
Mi bici nueva
2010-08-22: Mi bici nueva
Boda de Mario y Ana
2010-08-13: Boda de Mario y Ana
De cañones en Guara
2010-08-07: De cañones en Guara
Trini y Mari en Marbella
2010-08-05: Trini y Mari en Marbella
Trini y Chelo en Tabarca
2010-08-03: Trini y Chelo en Tabarca
Valid XHTML 1.1
Acceder
Volver a la lista de problemas

Maya Calendar

300.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *names1[] = {
	"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen",
	"yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"
};

char *names2[] = {
	"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat",
	"muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban",
	"eznab", "canac", "ahau"
};

int main(void)
{
	int i,j,num;
	int day, year;
	int epoch;
	char mon[1024];
	int mon2;

	scanf("%d", &num);
	printf("%d\n", num);

	for(i=0; i<num; i++) {
		scanf("%d. %s %d", &day, mon, &year);
		mon2=-1;
		for(j=0; j<19; j++) {
			if (!strcmp(mon, names1[j])) {
				mon2=j;
				break;
			}
		}
		if (mon2==-1) {
			abort();
		}
		epoch = year*365 + 20*mon2 + day;
		printf("%d %s %d\n", ((epoch%260)%13)+1, names2[(epoch%260)%20], epoch/260);
	}
	exit(0);
}