Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int countMaxCross(string& riverMap)
- {
- int n = riverMap.length()+1;
- int lArr[riverMap.length()];
- int rArr[riverMap.length()];
- for (int j = 0; j <n; ++j)
- {
- lArr[j] = 0;
- rArr[j] = 0;
- }
- rArr[0]=1;
- int k = 1;
- char currChar;
- while (k <= n)
- {
- currChar = riverMap[k - 1];
- switch (currChar)
- {
- case 'B':
- lArr[k] = lArr[k - 1] + 1;
- rArr[k] = rArr[k - 1] + 1;
- break;
- case 'R':
- lArr[k] = lArr[k - 1];
- rArr[k] = rArr[k - 1] + 1;
- break;
- default://'L'
- lArr[k] = lArr[k - 1] + 1;
- rArr[k] = rArr[k - 1];
- break;
- }
- rArr[k] = (lArr[k] + 1 < rArr[k]) ? (lArr[k] + 1) : rArr[k];
- lArr[k] = (rArr[k] + 1 < lArr[k]) ? (rArr[k] + 1) : lArr[k];
- k++;
- }
- return rArr[n];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement