題目如下:
Integer Inquiry
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 9985 Accepted Submission(s): 2580
``This supercomputer is great,'' remarked Chip. ``I only wish Timothy were here to see these results.'' (Chip moved to a new apartment, once one became available on the third floor of the Lemon Sky apartments on Third Street.)
The final input line will contain a single zero on a line by itself.
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.
The output format consists of N output blocks. There is a blank line between output blocks.
此題和Uvaoj424題目極其相似,只是輸出格式不同,同樣是大數相加問題,只是有多個大數在一起相加。
My Code:
#include <stdio.h>
#include <string.h>
#define MAXLEN 100
char inputArr[MAXLEN+10];
int resultArr[MAXLEN+10][MAXLEN+10];
int resultArr2[MAXLEN+10];
int main()
{
int n, i, j ,nLen, T, nflag;
scanf("%d", &T);
while(T--)
{
n=nLen=0;
memset(resultArr, 0, sizeof(resultArr));
memset(resultArr2, 0, sizeof(resultArr2));
while(n<=100)
{
scanf("%s", inputArr);
n++;
nLen = strlen(inputArr);
if(nLen == 1 && inputArr[0] == '0')
{
break;
}
i=j=0;
for(j=nLen-1; j>=0; j--)
{
resultArr[n][i++] = inputArr[j] - '0';
}
}
for(j=1; j<n; j++)
{
for(i=0; i<MAXLEN; i++)
{
resultArr2[i] += resultArr[j][i];
if(resultArr2[i]>9)
{
resultArr2[i] -= 10;
resultArr2[i+1]++;
}
}
}
nflag = 0;
for(i=MAXLEN; i>=0; i--)
{
if(nflag)
{
printf("%d", resultArr2[i]);
}
else if(resultArr2[i])
{
printf("%d", resultArr2[i]);
nflag = 1;
}
}
if(!nflag)
{
printf("0");
}
if(T)
{
printf("\n\n");
}
}
printf("\n");
return 0;
}
此題的輸出格式極其噁心,做了寫hduoj上的題,發現,hduoj題有個特點,就是對輸出格式要求的很嚴,而且,就算同樣的在其他oj上出現過的題目,在hduoj一般都是格式變得很麻煩,噁心!
貼張圖表示我的遭遇: