首页 > 其他分享 >Codeforces Round 764 (Div. 3) B. Make AP

Codeforces Round 764 (Div. 3) B. Make AP

时间:2023-09-15 18:57:23浏览次数:38  
标签:std geq frac cout Make Codeforces 764 2b ma

有三个正整数 \(a, b, c\) 。需要执行以下操作严格一次:

  • 选择任意一个正整数 \(m\) 并让严格一个 \(a, b, c\) 之一乘以 \(m\) 。但不能改变他们的顺序。

回答是否可以经过一次操作后使 \(a, b, c\) 变为等差。

分类讨论题:
三种情况满足一种即可。(已知 \(a, b, c \geq 1\) )

  • \(ma, b, c\) 等差
    • 只需 \(ma - b = b - c\) 即 \(ma + c = 2b\) ,解 \(\frac{2b - c}{a} \geq 1\) 有整数解。
  • \(a, mb, c\) 等差
    • 只需 \(a + c = 2mb\) 即 \(m = \frac{a + c}{2b} \geq 1\) 有整数解。
  • \(a, b, mc\) 等差
    • 只需 \(a + mc = 2b\) 即 \(\frac{2b - a}{c} \geq 1\) 有整数解。
view
#include <bits/stdc++.h>
void solve() {
	int a, b, c; std::cin >> a >> b >> c;
	if ((2*b - c) % a == 0 && (2*b - c) / a >= 1) std::cout << "YES" << "\n";
	else if ((a + c) % (2*b) == 0 && (a + c) / (2*b) >= 1) std::cout << "YES" << "\n";
	else if ((2*b - a) % c == 0 && (2*b - a) / c >= 1) std::cout << "YES" << "\n";
	else {
		std::cout << "NO" << "\n";
	}
}
signed main() {
    int _ = 1; std::cin >> _;
    while (_--) solve();
	return 0;
}

标签:std,geq,frac,cout,Make,Codeforces,764,2b,ma
From: https://www.cnblogs.com/zsxuan/p/17701262.html

相关文章

  • Codeforces Round 773 (Div. 2) B. Power Walking
    有\(n\)个增幅道具,第\(i\)个道具种类为\(a_i\),一个人的强度\(w\)为他所有道具的种类数。对于\(k]\in[1,n]\),询问将\(n\)个道具分配给\(k\)个人且每个人至少分配到一个道具后,能够得到的最想强度和\(\sum_{i=1}^{n}w_i\)。观察一:最低强度和\(\sum_{i=1}^{k}w......
  • Educational Codeforces Round 100
    B.FindTheArray对于条件二来说,1是万金油的存在,所以我们只需要把奇数位置或偶数位置全部变成1即可。因为要求差值小于\(\fracs2\),所以我可以求出奇偶位的和修改较小值即可。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongusingpii=pair<in......
  • 简单介绍cmakelist的使用
    Windows平台1在文件夹中创建一个CPP文件;自己随便写一个主函数就行 写一个简单的c++main函数;2创建一个CMakeLists.txt文件,写上下列内容;可以使用notepad,会对一些字段自动补齐cmake_minimum_required(VERSION3.5FATAL_ERROR)Project(HELLOW-01LANGUAGESCXX)add_e......
  • makefile学习
    makefile目标:依赖文件tab命令如果依赖文件比目标文件新,则执行命令来重新生成目标文件。四个版本makefile对比version1:test:main.csub.csub.h gcc-otestmain.csub.cversion2:优点:当只有一个文件更新时,不用重复编译test:main.osub.o gcc-otestmain.osu......
  • Compile、Make和Build的区别
    Compile、Make和Build的区别 针对Java的开发工具,一般都有Compile、Make和Build三个菜单项,完成的功能的都差不多,但是又有区别。 编译,是将源代码转换为可执行代码的过程。编译需要指定源文件和编译输出的文件路径(输出目录)。Java的编译会将java编译为class文件,将非java的文件(一般成......
  • ros2迁移c++之package.xml、CMakeLists.txt及编译
    1、package.xml<package><!--1.根标签--> <name><!--2.包名--> <version><!--3.版本号--> <description><!--4.包描述--> <maintainer><!--5.维护者--> <......
  • codeforces图论合集
    CyclicOperations给定一个数组$a$,每次构造一个数组$\spacel\space$长度为$\spacek\space$,数组$\spacea\space$与$\spacel\space$转换关系如下:$a_{l_1}\tol_2\space,\spacea_{l_2}\tol_3\space,\spacea_{l_3}\tol_4\space,\space...\space,\spacea_{l_n}\tol_1$......
  • Codeforces Round 897 (Div. 2) 考试总结
    前言这次打得很好,相较于div3的脑残题和签到题来说,div2的思维难度更加的大。同时还有除传统题外,其他的题型出现。比如交互题等。这次能在考场上想出三道较于之前是有很大的进步的。赛时实况:ABCDE1E2F√√√××××赛后改题情况:ABCDE1E2F......
  • CMAKE相对路径编译和python的ctypes引用
    CMAKE相对路径编译和python的ctypes引用cmake编译库使用相对路径cmake编译使用相对路径生成动态库,进而满足其他代码的调用,如python的ctypes由于ctypes能调用c,而不能调用c++,所以,使用externc来处理,使ctypes能够调用。externc在需要编译动态库cpp代码中,使用C的方式处理函数......
  • cmake设置目标文件的绝对路径
    通常Linux问题不大,Windows下老是会出现Debug和Release目录,导致不一致这样设置即可set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG${CMAKE_CURRENT_SOURCE_DIR}/../bin)set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE${CMAKE_CURRENT_SOURCE_DIR}/../bin)上面的语句设置目标路......