【cf 908B】B. New Year and Buggy Bot
1.题目链接。有人刚入门的学弟问我这个题该咋写,说实话题目长的我都不想看,就看了最后一句话大概猜了题意。
2.s长度只有100,答案其实不会超过24.因为4!=24,所以枚举一下阶乘就完事了吧。复杂度O(4!*len(s)).
#includeusing namespace std;char mp[60][60];int pos[4] = { 0,1,2,3 };char s[200];int main(){ int n, m; int sx = 0, sy = 0; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) { scanf(" %c", &mp[i][j]); if (mp[i][j] == 'S')sx = i, sy = j; } scanf("%s", &s); int ans = 0; do { int curx = sx, cury = sy; for (int i = 0; i < strlen(s); i++) { int tem = s[i] - '0'; if (tem == pos[0])cury--; else if (tem == pos[1])cury++; else if (tem == pos[2])curx--; else if (tem == pos[3])curx++; if (cury < 0 || cury >= m || curx < 0 || curx >= n)break; if (mp[curx][cury] == '#')break; if (mp[curx][cury] == 'E') { ans++; break; } } } while (next_permutation(pos, pos + 4)); printf("%d\n", ans);}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~