RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R02134

튕기는 탁구공의 위치

Bronze I 브론즈 I
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

가로 \(W\), 세로 \(H\)인 직사각형 상자 안에서 탁구공이 튀어 다닌다. 공의 위치는 격자점 \((x, y)\)로 나타내며 \(0 \le x \le W\), \(0 \le y \le H\)이다. 공은 매 걸음마다 \(x\) 좌표가 \(v_x\)만큼, \(y\) 좌표가 \(v_y\)만큼 변한다. 여기서 \(v_x, v_y\)는 각각 \(-1\) 또는 \(+1\)이다.

공이 좌우 벽(\(x = 0\) 또는 \(x = W\))에 닿는 순간 \(v_x\)의 부호가 바뀌고, 위아래 벽(\(y = 0\) 또는 \(y = H\))에 닿는 순간 \(v_y\)의 부호가 바뀐다. 처음 공은 상자 내부, 즉 어느 벽에도 붙어 있지 않은 곳에서 출발한다.

\(T\)걸음이 지난 뒤 공의 위치를 구하여라. \(T\)가 매우 클 수 있음에 유의하여라.

제약

\(2 \le W, H \le 100\,000\), \(1 \le x \le W-1\), \(1 \le y \le H-1\), \(v_x, v_y \in \{-1, 1\}\), \(0 \le T \le 10^{18}\)

입력 형식

첫째 줄에 \(W\), \(H\), 시작 위치 \(x\), \(y\), 속도 \(v_x\), \(v_y\), 그리고 걸음 수 \(T\)가 공백으로 구분되어 주어진다.

출력 형식

\(T\)걸음 뒤 공의 위치 \(x\), \(y\)를 공백으로 구분하여 출력한다.

예제 1
입력
5 5 2 2 1 1 10
출력
2 2
설명

공은 오른쪽 아래로 가다 벽에 튕기기를 반복하며, \(10\)걸음 뒤 \((2, 2)\)로 돌아온다.

예제 2
입력
4 3 1 1 1 1 3
출력
4 2
설명

세 걸음이면 오른쪽 벽 \(x=4\)에 막 도달하고, \(y\)는 위 벽에 튕겨 \(2\)가 되어 위치는 \((4, 2)\)이다.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

튕기는 탁구공의 위치

개요
출제자 난이도 Bronze I 브론즈 I 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

튕기는 탁구공의 위치

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8