This is word search problem but constraints seem to be quite strict. Can somebody help with a solution which could pass time limit?
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3831 |
3 | Radewoosh | 3646 |
4 | jqdai0815 | 3620 |
4 | Benq | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | gamegame | 3386 |
10 | ksun48 | 3373 |
# | User | Contrib. |
---|---|---|
1 | cry | 164 |
1 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 160 |
5 | -is-this-fft- | 158 |
6 | awoo | 157 |
7 | adamant | 156 |
8 | TheScrasse | 154 |
8 | nor | 154 |
10 | Dominater069 | 153 |
This is word search problem but constraints seem to be quite strict. Can somebody help with a solution which could pass time limit?
Name |
---|
How about dp[x][y][i] where (x,y) is the position in the grid and i is the position in the word you're searching? Number of states per word is at worst 100*100*30, transition is 4, which means you'll be able to handle a bunch of maximal words, around 200 or so. Or is the input bigger?
EDIT: I didn't read the problem correctly, "Each grid cell can only be used once." Sorry, thinking on how to fix that.
No input is same. Can you help in code or more detailed explanation for this?
How do you handle not using some cell more than once?
That limit sounds very similar to the longest path problem, for which no polynomial solution is known. I personally doubt we can avoid something exponential on the word's length.
Given that it's a recruitment problem, maybe we can assume that words are indeed English and therefore we're ok with some heuristics appended to dp+backtracking?