CCC '09 J2 - Old Fishin' Hole

View as PDF

Submit solution

Points: 5
Time limit: 2.0s
Memory limit: 256M

Problem type
Canadian Computing Competition: 2009 Stage 1, Junior #2

Fishing habitat and fish species are a resource that must be carefully managed to ensure that they will be there for the future. Accordingly, fishing limits have been established for a particular river based on the population of each species. Specifically, points are associated with the fish caught and the total points you catch must be less than or equal to the points allowed for that river.

As an example, suppose each brown trout counts as 2 points, each northern pike counts as 5 points and each yellow pickerel counts as 2 points, and the total points allowed must be less than or equal to 12. One acceptable catch could consist of 3 brown trout and 1 northern pike, but, other combinations would also be allowed.

Your job is to write a program to input the points allocated for a river, and find how many different ways an angler who catches at least one fish can stay within his/her limit.

Input Specification

You will be given 4 integers, one per line, representing trout points, pike points, pickerel points, and total points allowed in that order.

You can assume that each integer will be greater than 0 and less than or equal to 100.

Output Specification

For each different combination of fish caught, output the combination of brown trout, northern pike, and yellow pickerel in that order. The combinations may be listed in any order. The last line of output should display the total number of unique ways to catch fish within the established limit.

Sample Input


Sample Output

1 Brown Trout, 0 Northern Pike, 0 Yellow Pickerel
2 Brown Trout, 0 Northern Pike, 0 Yellow Pickerel
0 Brown Trout, 1 Northern Pike, 0 Yellow Pickerel
Number of ways to catch fish: 3


  • 1
    DingleReaper  commented on Nov. 30, 2022, 12:16 a.m. edit 2

    I realized that I was supposed to use a loop~ "oops"

  • 1
    shiny_mew  commented on Nov. 22, 2022, 1:19 a.m.

    Can someone tell me what I'm doing wrong?

  • 1
    960t  commented on Oct. 21, 2022, 5:37 p.m. edited

    this is honestly a pretty bad example bc it doesnt show how the answers would be ordered if 2 fish were caught at once

  • 1
    jasperfu1234  commented on May 23, 2022, 6:14 p.m.

    I got it wrong for missing a comma. Make sure you read the output carefully!

  • 1
    QiQi  commented on Nov. 28, 2021, 8:29 p.m.

    If you use python, it's a good idea to use a nested for loop or your code might not include "1 Brown Trout, 1 Northern Pike, 1 Yellow Pickerel" if you input 1, 1, 1, and 3.

  • 1
    IanHu  commented on Dec. 28, 2018, 10:37 p.m.

    What's wrong with my code?!!! It works perfectly in eclipse but gets WA here? HELP ME PLEZ!

    • 3
      magicalsoup  commented on Dec. 29, 2018, 3:50 p.m. edited

      um, your code doesn't seem right at this line

      if(rr != 0 || gg!=0 || pp!= 0)

      • 1
        IanHu  commented on Jan. 26, 2019, 11:09 p.m.


      • 3
        NeverDrinkAndDerive1  commented on Jan. 6, 2019, 10:13 a.m.

        how do you check other people's code? I'd like to help but idk how...

        • 11
          Swarley  commented on Jan. 6, 2019, 11:28 a.m.

          You have to solve the problem first...

  • -2
    Jerry_Gu  commented on Nov. 14, 2017, 12:12 p.m.

    When I use my code on NetBeans it works perfectly fine but when I submit it, the answer prints the first line and then only prints the amount of brown trout on second line and nothing else.

    • 3
      Arihan10  commented on Feb. 7, 2019, 9:57 a.m. edited

      It shows you a clipped version of your output.

      Your output (clipped)

  • 29
    Chensta  commented on April 26, 2017, 6:25 p.m.

    When you out put the same answers but in a different order :/