本文主要是介绍CSP-J 2021 T1 分糖果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 题目传送门
- 算法解析
- 总代码
- 提交记录
- 尾声
题目传送门
洛谷 P7909 [CSP-J 2021] 分糖果
算法解析
首先简化一下题目:取一个值 k k k,使 L ≤ k ≤ R L \leq k \leq R L≤k≤R,输出最大的 k % n k \% n k%n
一个数 % n \% n %n,最大一定是 n − 1 n - 1 n−1
也就说明这个数一定等于 x ⋅ n − 1 x \cdot n - 1 x⋅n−1
那我们就可以判断有没有一个 x x x 使 L ≤ x ⋅ n − 1 ≤ R L \leq x \cdot n - 1 \leq R L≤x⋅n−1≤R
如果有就输出 n − 1 n - 1 n−1
没有就输出 R % n R \% n R%n (仔细想一想)
具体请参考代码
总代码
#include <cstdio>
using namespace std;int n, l, r;
int x;int main() {scanf("%d%d%d", &n, &l, &r);while(n * x - 1 < l)++x;if(n * x - 1 >= l && n * x - 1 <= r)printf("%d\n", n - 1);elseprintf("%d\n", r % n);return 0;
}
提交记录
提交记录 · 点这里
尾声
如果这篇博客对您(您的团队)有帮助的话,就帮忙点个赞,加个关注!
最后,祝您(您的团队)在 OI 的路上一路顺风!!!
┬┴┬┴┤・ω・)ノ ByeBye
这篇关于CSP-J 2021 T1 分糖果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!