ccf认证考试题目(2016ccf认证考试试题)
大家好,霖霖来为大家解答以上问题。ccf认证考试题目,2016ccf认证考试试题很多人还不知道,现在让我们一起来看看吧!
1. 出现次数最多的.数
#include
nclude
} cout << ans << endl; return 0; }
2. ISBN 号码
#include
cout << "Right" << endl; }else { s[12] = c; cout << s << endl; } return 0; }
3.最大的矩形
#include
} cout << ans << endl; return 0; }
4.有趣的数
#include
now += dp(n-1, 2, p3); // go 1 }else // p1 == 2 { now += dp(n-1, 2, p3); // go 1 } if (p3 == 0) { now += dp(n-1, p1, p3); // go 2; now += dp(n-1, p1, 1); // go 3; }else { now += dp(n-1, p1, 1); // go 3; } now %= 1000000007; } int main() { int n; cin >> n; memset(f, -1, sizeof(f)); int ans = dp(n - 1, 0, 0); // seq[n] is 2 cout << ans << endl; return 0; }
5.I’m stuck!
#include
public: virtual bool CanMove(char from, char to, int dx, int dy) = 0; }; class ForwardMove : public Move { public: virtual bool CanMove(char from, char to, int dx, int dy) { if (to == '#') return false; switch (from) { case '+' : case 'S' : case 'T' : return true; break; case '-' : return dy != 0; break; case '|' : return dx != 0; break; case '.' : return dx == 1; break; } return false; } }; class BackwardMove : public Move { public: virtual bool CanMove(char from, char to, int dx, int dy) { if (to == '#') return false; switch (to) { case '+' : case 'S' : case 'T' : return true; break; case '-' : return dy != 0; break; case '|' : return dx != 0; break; case '.' : return dx == -1; break; } return false; } }; char s[100][100]; typedef bool ARR[100][100]; ARR bs, bt; int sx, sy, tx, ty;
int d[4][2] = {{-1, 0},{1, 0},{0, 1},{0, -1}}; void Bfs(ARR b, Move *move, int x, int y) { if (b[x][y]) return; b[x][y] = true; for (int o = 0; o < 4; o++) { int dx = d[o][0]; int dy = d[o][1]; int xx = x + dx; int yy = y + dy; if (move->CanMove(s[x][y], s[xx][yy], dx, dy)) { Bfs(b, move, xx, yy); } } } int n, m; int main() { cin >> n >> m; for (int i = 0; i <= n + 1; i++) for (int j = 0; j <= m + 1; j++) s[i][j] = '#'; for (int i = 1; i <= n; i++) cin >> s[i]+1; for (int i = 0; i <= n + 1; i++) s[i][m + 1] = '#';
for (int i = 0; i <= n + 1; i++) { for (int j = 0; j <= m + 1; j++) { if (s[i][j] == 'S') { sx = i;
sy = j; } if (s[i][j] == 'T') { tx = i; ty = j; } } } Bfs(bs, new ForwardMove(), sx, sy); Bfs(bt, new BackwardMove(), tx, ty); int ans = 0; for (int i = 0; i <= n + 1; i++) { for (int j = 0; j <= m + 1; j++) { if (bs[i][j] && ! bt[i][j]) ans ++; } } if (bs[tx][ty] == false) cout << "I'm stuck!" << endl; else cout << ans << endl; return 0; }
更多相关文章推荐:
1.2016ccf认证考试试题
2.CAD认证培训考试试题
3.科技部国家三维CAD认证培训考试试题
4.GMP认证检查评定标准培训试题
5.UG认证考试试题
6.培训商家个人实名认证方法
本文到此结束,希望对大家有所帮助。