Help needed in ICPC Amritapuri 2010 problems

Recently we were solving problems from past Indian ICPC regional . We weren’t able to solve these 2 problems , and I couldn’t find any editorial either . It would be really helpful if you guys can give me some hints to these problems.



There are N bottles each having a different chemical. For each chemical i, you have determined C[i],
which means that mixing chemicals i and C[i] causes an explosion. You have K distinct boxes. In how
many ways can you divide the N chemicals into those boxes such that no two chemicals in the same
box can cause an explosion together?


  • T \leq 50
  • 2 \leq N \leq 100
  • 2 \leq K \leq 1000

My Ideas

I thought of modelling the given dependencies as a graph and we are asked to find the number of ways to partition the graph into independent sets . But I realised that counting independent sets is intractable , so there must be a much more efficient or different way to solve this problem .

Dividing Stones


There are N stones, which can be divided into some piles arbitrarily. Let the value of each division be
equal to the product of the number of stones in all the piles modulo P. How many possible distinct
values are possible for a given N and P?


  • T \leq 20
  • 2 \leq N \leq 70
  • 2 \leq P \leq 10^9
1 Like