CF1560B Who‘s Opposite?

Link

洛谷 & Codeforces

Tag

洛谷:数学

Codeforces:math

Difficulty Level

洛谷: 普及 − \color{#f39c11}{普及-} 普及

Codeforces: 800 \color{grey}{800} 800

Solution

题目告诉我们 a a a b b b 相对,不妨假设 a < b a<b a<b,显然相对的 a a a b b b 之间有 b − a − 1 b-a-1 ba1 个人,则环中共有 n = ( b − a ) × 2 n=(b-a)\times2 n=(ba)×2 个人。
在这里插入图片描述
a , b , c a,b,c a,b,c 中有大于 n n n 的则输出 − 1 -1 1

通过一些 奇技淫巧 思考,我们可以得出 c c c 所对的人为 ( ( c + n 2 − 1 )   m o d   n ) + 1 ((c+\dfrac{n}{2}-1) \bmod n) +1 ((c+2n1)modn)+1

Code

#include<iostream>
#include<cstdio>
using namespace std;
int a,b,c,n;
void work()
{
	scanf("%d%d%d",&a,&b,&c);
	if(a>b)
		swap(a,b);
	n=(b-a)*2;
	if(a>n||b>n||c>n)
		printf("-1\n");
	else
		printf("%d\n",(c+n/2-1)%n+1);
}
int main()
{
	int T;
	scanf("%d",&T);
	while(T--)
		work();
	return 0;
}

Submission

Codeforces submission

### ImPlotAxisFlags_Opposite 的作用和使用方法 在 ImPlot 中,`ImPlotAxisFlags_Opposite` 是一个用于控制坐标轴位置的标志,它决定了轴是否应当显示在图表的对侧。例如,对于横轴(X 轴),默认情况下,它会显示在图表的底部;而使用 `ImPlotAxisFlags_Opposite` 后,该轴将被放置在图表的顶部。类似地,对于纵轴(Y 轴),默认情况下,它位于左侧,而启用此标志后则会移动到右侧。 该标志通常用于调整多轴图表中的坐标轴布局,使得图表可以同时显示多个坐标轴,并在不同的位置上排列,以提高可读性和清晰度。这种功能在需要比较多个数据集,或者需要将不同的数据系列放置在不同的坐标轴上时非常有用。 `ImPlotAxisFlags_Opposite` 可以通过 `ImPlot::SetAxisFlags` 函数来设置,也可以在调用 `ImPlot::BeginPlot` 时通过传递标志参数来指定。以下是一个使用 `ImPlotAxisFlags_Opposite` 的示例: ```cpp // 设置 X 轴显示在顶部 ImPlot::SetAxisFlags(ImAxis_X1, ImPlotAxisFlags_Opposite); // 设置 Y 轴显示在右侧 ImPlot::SetAxisFlags(ImAxis_Y1, ImPlotAxisFlags_Opposite); // 开始绘制图表 if (ImPlot::BeginPlot("Opposite Axis Example")) { // 绘制数据 ImPlot::PlotLine("Data", x_data, y_data, data_count); ImPlot::EndPlot(); } ``` 在上述代码中,X 轴和 Y 轴分别被设置为显示在图表的顶部和右侧。这种布局方式可以用于突出显示某些数据,或者与其他坐标轴的数据进行对比。 需要注意的是,`ImPlotAxisFlags_Opposite` 可以与多个轴标志组合使用,例如 `ImPlotAxisFlags_Invert`(反转轴方向)或 `ImPlotAxisFlags_LogScale`(对数刻度),以实现更复杂的轴配置。这种灵活性使得 ImPlot 成为一个强大的数据可视化工具,适用于多种应用场景。 ### 相关问题 1. 如何在 ImPlot 中实现双轴图表的绘制? 2. ImPlot 中如何调整坐标轴的刻度和标签? 3. 如何在 ImPlot 中反转坐标轴的方向? 4. ImPlot 中的对数坐标轴如何设置? 5. 如何在 ImPlot 中隐藏某个坐标轴?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值