https://www.acmicpc.net/problem/10834
[난이도] Bronze2
[유형] 수학
[풀이]
s가 1이 나올때마다 방향을 반대로 바꿔주고,
회전수는 1로 시작해서 b/a를 계속 곱해주면 됩니다. 정수인 답이 나온다는 조건이 있기 때문에
회전수는 계속 정수로 유지될 것이기 때문에 계속 나눠주어도 됩니다.
#include <cstdio>
int M,d,cur=1;
int main(){
scanf("%d",&M);
while(M--){
int a,b,s;
scanf("%d%d%d",&a,&b,&s);
if(s==1) d=1-d;
cur=cur*(double)b/a;
}
printf("%d %d",d,cur);
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Bronze2/10834.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Gold4] 2262 : 토너먼트 만들기 (C++) (0) | 2022.08.21 |
---|---|
[BOJ/백준][Gold4] 5569 : 출근 경로 (C++) (0) | 2022.08.21 |
[BOJ/백준][Bronze3] 10833 : 사과 (C++) (0) | 2022.08.21 |
[BOJ/백준][Bronze4] 10162 : 전자레인지 (C++) (0) | 2022.08.21 |
[BOJ/백준][Silver3] 6986 : 절사평균 (C++) (0) | 2022.08.21 |