Need help on SPOJ — Cleaning Robot

Revision en1, by s1d_3, 2015-11-05 18:35:59

This is a pretty common problem: http://www.spoj.com/problems/CLEANRBT/

The common solution to this is finding shortest paths among all dirty tiles, and then doing a TSP on these.

I thought about another method, actually before the above even came to my head. This is much more simpler, though takes way way more space as well as time from the first approach. However, it still fits in with the requirements of the problem, hence, I went ahead and implemented it, for the sake of it: https://ideone.com/JXlzZY

It's passing all the given test cases, as well as some which I tried myself. But I keep getting a WA on submission. Any help on this would be much appreciated.

My algo would seem pretty straight-forward from the code I posted above, but I am still going ahead to outline the particulars: I maintain a dp table corresponding to the room, and a bitmask for every such tile. So dp[i][j][mask] would have the value of reducing mask to (1<<numberOfDirtyTiles — 1), with my source as (i, j).

Tags dynamic programming, spoj, wrong answer

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English s1d_3 2015-11-05 18:35:59 1051 Initial revision (published)