| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我更糟糕.从MLE,到RE.真难找错.高手(first)能指点迷津吗?最起码思路是对的吧.谢谢#include <stdio.h>
#include <string.h>
struct d{
int tday;
char tmon[9];
int tyea;
}re[100];
void main(){
char ha[20][7]={" ","pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin","mol",
"chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"};
char tz[21][9]={" ","imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik",
"lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban",
"eznab", "canac", "ahau"};
int i,j,ca;
int da;
int st;//what remain after da is divided by 260
int hda,hye;
char hmon[9];
scanf("%d",&ca);
for(i=0; i<ca; i++){
scanf("%d. %s %d",&hda, &hmon, &hye);
//now transform to normal one(totalday)
for (j=1; j<19; j++){
if(strcmp(hmon,ha[j])==0){
break;
}
}
da=365*hye+(j-1)*20+hda+1;
//now transform to hzo one
re[i].tyea=da/260;
st = da%260;
strcpy(re[i].tmon,tz[st%20]);
re[i].tday = st % 13;
}
printf("%d\n",ca);
for(i=0; i<ca; i++){
printf("%d %s %d\n",re[i].tday,re[i].tmon,re[i].tyea);
}
}
//another
/*
#include <stdio.h>
#include <string.h>
#include <malloc.h>
struct d{
int tday;
char tmon[9];
int tyea;
};
void main(){
struct d *p;
char ha[20][7]={" ","pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin","mol",
"chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"};
char tz[21][9]={" ","imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik",
"lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban",
"eznab", "canac", "ahau"};
int i,j,ca;
int da;
int st;//what remain after da is divided by 260
int hda,hye;
char hmon[9];
scanf("%d",&ca);
p=(struct d*)malloc(sizeof(struct d)*ca);
for(i=0; i<ca; i++){
scanf("%d. %s %d",&hda, &hmon, &hye);
for (j=1; j<19; j++){
if(strcmp(hmon,ha[j])==0){
break;
}
}
da=365*hye+(j-1)*20+hda+1;
(*(p+i)).tyea=da/260;
st = da%260;
strcpy((*(p+i)).tmon,tz[st%20]);
(*(p+i)).tday = st % 13;
}
printf("%d\n",ca);
for(i=0; i<ca; i++){
printf("%d %s %d\n",(*(p+i)).tday,(*(p+i)).tmon,(*(p+i)).tyea);
}
}*/
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator