鱼C论坛

 找回密码
 立即注册
查看: 1987|回复: 4

[技术交流] C++题解:谁在对面?【回复可见】

 关闭 [复制链接]
抢楼 抢楼 查看抢中楼层 本帖为抢楼帖,欢迎抢楼!  奖励楼层: 11,22,33,55,66,77,88,99,100,*,*,*,* 
发表于 2022-9-18 18:57:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 高山 于 2022-9-19 21:15 编辑

原创声明:本帖题目素材来源于网络,但题解自创,原题及代码测试链接:https://codeforces.com/problemset/problem/1560/B
题目说明:


有n个人(编号1~n)顺时针坐成一圈,例如,当n=6时:

示例图.png


可以发现1和4、2和5、3和6是面对面坐的

现在,不知道n的值,只告诉你3个数字a b c,代表a和b是面对面做的,请问和c面对面坐的人是谁?

数据范围:1≦t≦104,1≦a,b,c≦108

样例输入(多测题,打1反1)

4
2 5 4
6 2 4
2 3 1
2 4 10
样例输出:

1
8
-1
-1

代码:
游客,如果您要查看本帖隐藏内容请回复
演示视频在评论区置顶评论

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-20 16:21:35 From FishC Mobile | 显示全部楼层
根据图示,3可以定义为宏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-20 17:05:14 From FishC Mobile | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-20 18:52:09 | 显示全部楼层
不知为什么会WA
#include <cstdio>

using namespace std;

#define abs(x) ((x) > 0 ? (x) : -(x))

int main() {
        int test, a, b, c, n;
        scanf("%d", &test);
        while (test--) {
                scanf("%d%d%d", &a, &b, &c);
                n = abs((a - b) * 2);
                if (a > n || b > n || c > n)
                        printf("-1\n");
                else {
                        int tmp = abs(c - n / 2);
                        if (tmp == 0)
                                tmp = n;
                        printf("%d\n", tmp);
                }
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-20 18:58:21 | 显示全部楼层
TM的,我数学没学好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-27 22:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表