// 100% for循环t次即可 #include <iostream> using namespace std; static int dirs[4][2] = { {-1, -1}, {-1, 1}, {1, 1}, {1, -1} }; int solve(int n, int m, int x, int y, int dx, int dy, int t) { int res = 0; for (int i = 0; i < t; ++i) { x += dx; y += dy; if (x == 2 || x == n - 1) { ++res; dx = -dx; } if (y == 2 || y == m - 1) { ++res; dy = -dy; } } return res; } int main() { int Q = 0; cin >> Q; while (Q--) { int N = 0, M = 0; cin >> N >> M; int X = 0, Y = 0, W = 0, T = 0; cin >> X >> Y >> W >> T; int res = solve(N, M, X, Y, dirs[W][0], dirs[W][1], T); cout << res << endl; } return 0; }
点赞 评论

相关推荐

12-24 20:52
武汉大学 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务