当日总结

链接:https://ac.nowcoder.com/acm/problem/304617
来源:牛客网

本题有多组测试数据

第一行输入一个整数
𝑇
(
1
≤
𝑇
≤
1
0
4
)
T(1≤T≤10
4
),表示数据组数。

对于每组测试数据:

第一行输入六个整数
𝑎
1
∽
𝑎
6
(
1
≤
𝑎
𝑖
≤
6
)
a
1
​
∽a
6
​
(1≤a
i
​
≤6),表示 Alice 的骰子结果。

第二行输入六个整数
𝑏
1
∽
𝑏
6
(
1
≤
𝑏
𝑖
≤
6
)
b
1
​
∽b
6
​
(1≤b
i
​
≤6),表示 Bob 的骰子结果。

第三行输入两个整数
𝑥
,
𝑦
(
2
≤
𝑥
≤
12
,
1
≤
𝑦
≤
6
)
x,y(2≤x≤12,1≤y≤6),表示 Alice 的喊话结果。
void solve() {
int n, m, neg = 0, pos = 0, z = 0;
cin >> n >> m;
for (int i = 0, x; i < n; ++i) cin >> x, neg += x < 0, pos += x > 0, z += x == 0;

if (n - z < m) {
cout << -1 << "\n";
return;
}

if (m < ((neg || z) ? 0 : pos) || m > (neg ? n - z - 1 : pos)) {
cout << -1 << "\n";
return;
}
cout << abs(pos - m) << "\n";
}

posted @ 2025-10-21 23:58  lagranSun  阅读(21)  评论(0)    收藏  举报