Page **1** of **6**

### 10344 - 23 out of 5

Posted: **Mon Sep 16, 2002 11:35 am**

by **yatsen**

I got Runtime Error for this problem 10344 with the following message:

Your program has died with signal 8 (SIGFPE). Meaning:

Floating point excepti

I think it is cause by divided by zero.

But I dont know how it happen.

Could it have zero input int the 5-tuples except the last one?

Posted: **Tue Sep 17, 2002 8:28 am**

by **Picard**

you can check this type of questions using 'abort()' or some different technique (TLE,mem alloc,SIGFPE,SIGSEGV,output exceeds,...) to signal back when the problematical event occures (like specific input, example four zero and a non zero input)

Posted: **Tue Sep 17, 2002 1:19 pm**

by **tenshi**

maybe you divide zero or a very small real number, or sqrt(negative number)

Posted: **Tue Sep 17, 2002 1:36 pm**

by **Picard**

i think neither float operation by FPU raise any SIGFPE with it's default control word (in i386 architecture). only integer division by zero does (by CPU).

Posted: **Wed Sep 18, 2002 8:35 am**

by **yatsen**

I use abort() to test if the input contain 0.

Yes, it does. The ACM tell a lie again.

The Problem description says:

**The Input consists of 5-Tupels of positive Integers, each between 1 and 50.**

But I solved this problem using another approch which no using / or %.

### 10344 WA

Posted: **Mon Mar 24, 2003 1:39 pm**

by **de**

Can someone help me to find what wrong with my code,or give me some

test input/output..thanks!!

[cpp]

#include <iostream.h>

int intIn[5];

int oper[4];

int intOK;

void sh (int);

void change (int);

void change (int N)

{

int intT,intT2;

int intTemp;

if (N==5)

sh (1);

else if (intOK==0)

{

for (intT=0 ;intT<5-N ; intT++)

{

change (N+1);

intTemp=intIn[N-1];

for (intT2=N-1 ;intT2<4 ;intT2++)

intIn[intT2]=intIn[intT2+1];

intIn[4]=intTemp;

}

}

}

void sh (int N)

{

int intT;

int sum;

if (N==5)

{

sum=intIn[0];

for (intT=0 ;intT<4 ;intT++)

{

switch (oper[intT])

{

case 1:

sum+=intIn[intT+1];

break;

case 2:

sum-=intIn[intT+1];

break;

case 3:

sum*=intIn[intT+1];

break;

}

}

if (sum==23.0)

intOK=1;

}

else if (intOK==0)

{

for (intT=1 ;intT<=3 ;intT++)

{

oper[N-1]=intT;

sh (N+1);

}

}

}

int main()

{

while (cin >> intIn[0] >> intIn[1] >> intIn[2] >> intIn[3] >> intIn[4])

{

if (intIn[0]==0 && intIn[1]==0 && intIn[2]==0 && intIn[3]==0 && intIn[4]==0)

break;

intOK=0;

change (1);

if (intOK==0)

cout << "Impossible" << endl;

else

cout << "Possible" << endl;

}

return 0;

}

[/cpp]

Posted: **Sat Jul 12, 2003 5:15 am**

by **Observer**

Hello!

Can the 5 numbers be swapped?

If not, whhy 1 2 3 4 5 = possible?

Posted: **Tue Jul 15, 2003 7:10 pm**

by **Noim**

i found some dis-similarity between the outputs that your program showed and those of mine;

some of those inputs are:

input:

41 4 2 3 42

3 11 22 33 23

29 23 34 4 6

30 27 6 23 36

21 45 24 22 20

output:

Possible

Possible

Possible

Possible

Possible

### Not specified

Posted: **Wed Mar 03, 2004 1:21 pm**

by **Mahmud776**

**Hello Everybody:**

This is very sad that there is a mistake in the problem description of

of the problem number 10344(23 out of 5).

They said that there is no such an input data that contain 0.

That is, the input will be from 1 to 50.

But i found 0 in the input set.

This mistake spent my huge times and created frustration.

This should not be happened.

Posted: **Wed Mar 03, 2004 3:55 pm**

by **shamim**

Now that so many fixing mistakes are going on, why don't they fix where fixing is really necessary. Misinforming problem statement can be very frustrating and time consuming.

Posted: **Wed Mar 03, 2004 7:47 pm**

by **Adrian Kuegel**

You can write an email to

problemset@acm.uva.es if you notice any mistake in a problem description. Don't complain in the message board, it is not possible for the admins to read all threads (and likewise it is not possible to check every problem, so it is necessary that we, the users of this site, write emails to the admins if we notice a mistake).

Posted: **Wed Sep 01, 2004 3:09 am**

by **minskcity**

Can anybody show me how to get 23 from 1 2 3 4 5?

Posted: **Wed Sep 01, 2004 9:39 am**

by **CDiMa**

minskcity wrote:Can anybody show me how to get 23 from 1 2 3 4 5?

(((3 * 5) - 4) * 2) + 1

Ciao!!!

Claudio

Posted: **Thu Sep 23, 2004 6:46 pm**

by **kiha**

Hello,

I get WA on this problem again and again. Maybe I don't understand the problem description. Tell me if I am wrong:

1) There occurs 0 in the input

2) Could I use **division**, or only +, *, -? Maybe it's posible if there occurs 0 and you can use division -- that would be the reason for yatsen's runtime error? But in the problem description there is nothing said you can use division ...

### Problem Fixed

Posted: **Tue Aug 02, 2005 11:20 pm**

by **zac.friggstad**

Hi,

I reported the fact to the judges that it looks like a 0 appears in the input, and they replied saying that there was, indeed, a single 0 in one of the test cases. He reported that the test case will be changed.

Good Luck!