A. Nastia and Nearly Good Numbers | #720 Div.2
3905 ワード
https://codeforces.com/contest/1521/problem/A
1秒、256 MBメモリ
input : t (1 ≤ t ≤ 10000) A B (1 ≤ A ≤ 106, 1 ≤ B ≤ 106) output : For each test case print: "YES"and 3 different positive integers x, y, and z (1 ≤ x, y, z ≤ 1018) such that exactly one of them is good and the other 2 are nearly good, and x+y=z.
"NO"if no answer exists.
「YES」を出力する場合は、異なるx、y、zがそれぞれ出力されていることを確認します.それでなければ「NO」を出力します.
条件: Nastia has 2 positive integers A and B. She defines that: The integer is good if it is divisible by A⋅B;
Otherwise, the integer is nearly good, if it is divisible by A.
2つの正の値A、Bを受け入れます.AとBの積の値は
答えたくない...ハハハハ
初めて問題を見たとき、aとbの最大承諾数を利用して、最小の倍数から解くべきではないかと思います.そうすると、数の範囲が大きすぎて、不可能に見えます.
私たちは彼に数学で答えを印刷させるべきだと思います.
出力するのはx,y,zで,そのうち2つはほとんどgood,1つgoodである.一番小さいgoodに近いのを見たら、もちろんAです.
A*Bを入力してgoodになり、Aを加えるだけで条件を満たすことができます.
実際、質問に条件のない最小値や最大の甲の多くの答えがあれば、その中の1つを印刷してください.だから大丈夫です...
シャベルで掘ったんだ
1秒、256 MBメモリ
input :
"NO"if no answer exists.
「YES」を出力する場合は、異なるx、y、zがそれぞれ出力されていることを確認します.それでなければ「NO」を出力します.
条件:
Otherwise, the integer is nearly good, if it is divisible by A.
2つの正の値A、Bを受け入れます.AとBの積の値は
good
である.nearly good
に達するには、Aに分けなければなりません.答えたくない...ハハハハ
初めて問題を見たとき、aとbの最大承諾数を利用して、最小の倍数から解くべきではないかと思います.そうすると、数の範囲が大きすぎて、不可能に見えます.
私たちは彼に数学で答えを印刷させるべきだと思います.
出力するのはx,y,zで,そのうち2つはほとんどgood,1つgoodである.一番小さいgoodに近いのを見たら、もちろんAです.
A*Bを入力してgoodになり、Aを加えるだけで条件を満たすことができます.
実際、質問に条件のない最小値や最大の甲の多くの答えがあれば、その中の1つを印刷してください.だから大丈夫です...
シャベルで掘ったんだ
import sys
t = int(sys.stdin.readline())
for i in range(t):
a, b = map(int, sys.stdin.readline().split())
if b == 1:
print("NO")
continue
print("YES")
print(f"{a} {a * b} {a + a * b}")
もちろん,1が存在すると,上記の意識は成り立たない.bは1なので、aを加えるとaに分けられません.Reference
この問題について(A. Nastia and Nearly Good Numbers | #720 Div.2), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/A.-Nastia-and-Nearly-Good-Numbers-720-Div.2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol