https://www.acmicpc.net/problem/10834
반성용 게시글
문제는 볼 필요도 없고 ans = (ans/a)*b; 가 핵심 코드인데, ans는 a로 나누어 떨어지는 입력만 준다.
ans= (ans*b)/a;가 자꾸 틀렸습니다가 떠서 30분정도 삽질했는데, ans*b에서 오버플로우가 났었다.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n; cin >> n;
int cnt = 0;
int ans = 1;
for (int i = 0,a,b,s; i < n; i++) {
cin >> a >> b >> s;
if (s == 1) cnt++;
ans = (ans / a) * b;
}
cout << cnt % 2 << " "<< ans << '\n';
}
#include <iostream>
using namespace std;
typedef long long ll;
int main() {
int n; cin >> n;
int cnt = 0;
ll ans = 1;
for (int i = 0,s; i < n; i++) {
ll a,b;
cin >> a >> b >> s;
if (s == 1) cnt++;
ans = (ans * b) / a;
}
cout << cnt % 2 << " "<< ans << '\n';
}
'알고리즘 > 백준 & swacademy' 카테고리의 다른 글
BOJ 14863 - 서울에서 경산까지 ( KOI 초등, knapsack ) (0) | 2019.10.15 |
---|---|
BOJ 10835 - 카드게임 ( 2015 KOI 초등, dp ) (0) | 2019.10.14 |
BOJ 10165 - 버스노선 ( KOI 고, 라인스위핑 ) (0) | 2019.10.13 |
BOJ 15590 - Rental Service (usaco silver, 그리디, 구간합배열, 이분탐색) (0) | 2019.10.11 |
BOJ 15462 - The Bovine Shuffle(usaco silver, dfs) (0) | 2019.10.09 |