πŸ•οΈ PS (BOJ)/Basic Math

[BOJ][C++] λ°±μ€€ 2168번: 타일 μœ„μ˜ λŒ€κ°μ„ 

선달 2023. 5. 31. 23:15
λ°˜μ‘ν˜•

https://www.acmicpc.net/problem/2168

 

2168번: 타일 μœ„μ˜ λŒ€κ°μ„ 

첫째 쀄에 κ°€λ‘œμ˜ 길이 xcm와 μ„Έλ‘œμ˜ 길이 ycmκ°€ μ£Όμ–΄μ§„λ‹€. x와 yλŠ” 1,000,000,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€. x와 yμ‚¬μ΄μ—λŠ” 빈칸이 ν•˜λ‚˜ 이상 μžˆλ‹€.

www.acmicpc.net

 

문제

ν•œ λ³€μ˜ 길이가 1cm인 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 타일이 μžˆλ‹€. 이 타일듀을 κ°€λ‘œκ°€ xcm, μ„Έλ‘œκ°€ ycm인 μ§μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 벽에 λΉˆν‹ˆμ—†μ΄ λΆ™μ˜€λ‹€. x와 yλŠ” μ •μˆ˜μ΄λ‹€.

이 μ§μ‚¬κ°ν˜•μ— ν•˜λ‚˜μ˜ λŒ€κ°μ„ μ„ κ·Έλ Έλ‹€. μ§μ‚¬κ°ν˜•μ— λΆ™μ–΄ μžˆλŠ” x*y개의 타일 μ€‘μ—λŠ” λŒ€κ°μ„ μ΄ κ·Έλ €μ§„ 타일도 있고, κ·Έλ ‡μ§€ μ•Šμ€ 타일도 μžˆλ‹€. x*y개의 타일 μ€‘μ—μ„œ λŒ€κ°μ„ μ΄ κ·Έλ €μ Έ μžˆλŠ” νƒ€μΌμ˜ 개수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

풀이

κ΅¬ν˜„μ€ μ‰½μ§€λ§Œ λ°œμƒμ΄ μ–΄λ €μš΄ 문제

μž…λ ₯ 받은 두 값을 ν•©ν•˜κ³  두 수의 μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό λΉΌμ£Όλ©΄ λœλ‹€.

 

#include <iostream>

using namespace std;

int gcd(int a, int b) {
    if(b==0) {
        return a;
    }
    return gcd(b, a%b);
}

int main() {
    int r,c;
    cin >> r >> c;
    int g = r>c ? gcd(r,c) : gcd(c,r);
    cout << r+c-g;
    return 0;
}

 

증λͺ…은 이 λΈ”λ‘œκ·Έκ°€ λ„ˆλ¬΄ 잘 μ„€λͺ…ν•΄μ£Όμ—ˆκΈ° λ•Œλ¬Έμ— μƒλž΅!

 

[λ°±μ€€ 2168번] 타일 μœ„μ˜ λŒ€κ°μ„ 

문제 링크: 2168번 타일 μœ„μ˜ λŒ€κ°μ„  https://www.acmicpc.net/problem/2168 κ°€λ‘œ 길이λ₯Ό x, μ„Έλ‘œ 길이λ₯Ό y라 ν•˜κ³  GCD(x, y) = G라 ν•˜λ©΄, x = GX, y = GY와 같이 ν‘œν˜„ν•  수 μžˆλ‹€. 이 λ•Œ λŒ€κ°μ„ μ˜ κΈ°μšΈκΈ°λŠ” y/x = GY/GX = Y/X

ddoongi.tistory.com

 

λ°˜μ‘ν˜•