当日总结

链接: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  阅读(6)  评论(0)    收藏  举报