반응형
https://www.acmicpc.net/problem/8678
8678번: Zbiór
Pierwszy wiersz standardowego wejścia zawiera jedną liczbę całkowitą z (1 ≤ z ≤ 106), oznaczającą liczbę zestawów danych. W n kolejnych wierszach znajdują się opisy kolejnych zestawów. Każdy wiersz zawiera dwie liczby całkowite a, b (1
www.acmicpc.net
배수의 성질을 이용하는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
테스트 케이스의 수 z, 두 정수 a와b를 선언한 후 z에 입력을 받고 while loop를 수행합니다. 수행하며 a, b에 입력받습니다.
📔 풀이과정
정수의 범위가 10억까지이므로 O(n)으로 약수의 세트를 찾는다 해도 10초가 걸리므로 일반적인 접근법이 아닙니다. b의 약수들이 a의 약수들을 포함하려면 a가 b의 약수면 됩니다. 따라서 b % a가 양수인지 여부만 확인하면 됩니다.
* 출력이 많으니 sync를 끊어줍니다.
📔 정답출력
조건에 따라 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
#define fastio ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
int z, a, b, ans;
int main(){
fastio;
cin >> z;
while(z--){
cin >> a >> b;
if(b % a) cout << "NIE\n";
else cout << "TAK\n";
}
}
'Algorithm > Math' 카테고리의 다른 글
(C++) - 백준(BOJ) 12840 : 창용이의 시계 (0) | 2022.03.09 |
---|---|
(C++) - 백준(BOJ) 9298 : Schronisko (0) | 2022.02.20 |
(C++) - 백준(BOJ) 8658 : Liczba (0) | 2022.01.30 |
(C++) - 백준(BOJ) 8246 : Stół (0) | 2022.01.25 |
(C++) - 백준(BOJ) 7770 : 아즈텍 피라미드 (0) | 2022.01.18 |