提交到北京大学ACM系统上一直出现runtime error,求解!!

2025-02-26 13:55:37
推荐回答(1个)
回答1:

兄弟你这个

题目里没有保证输入数据小于100组啊

你这开100的数组存答案肯定不够啊

还有提问居然都不给个题目链接,还是我自己去搜到的

还好多年ACM选手

P.S.没必要存起来在输出

online Judge 的输入输出是两个文件,不是混在一起的

算完一组直接输出就行了

改过的代码:

#include
#include
int x(int a, char b[10], int c)
{

int i, sum;
char d[19][10] = { "pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet" };
if (strcmp(b, d[18]) == 0)
sum = c * 365 + 18 * 20 + a + 1;
else
{
for (i = 0;i<18;i++)
if (strcmp(b, d[i]) == 0)
break;
sum = c * 365 + i * 20 + a + 1;
}
return sum;
}
int main()
{
char e[20][10] = { "imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau" };
int n, z, w, k;
int o[100], q[100], r, t;
char s[10], p[100][10];
scanf("%d", &n);
printf("%d\n", n);
for (z = 0;z {
scanf("%d.%s %d", &r, s, &t);
w = x(r, s, t);
q[0] = w / 260;
w = w % 260;
o[0] = w % 13;
k = w % 20;
printf("%d %s %d\n", o[0], e[k - 1], q[0]);
}
return 0;
}