非官方题解
2025-04-08 18:25:18
发布于:北京
2阅读
0回复
0点赞
先写一个输入:
int n, m; std::cin >> n >> m;
int a[M][M] {};
for (int i = 0; i < n; ++ i)
for (int j = 0; j < m; ++ j)
std::cin >> a[i][j];
来看一下罚时规则:
- 第一次不算
- 从第二次开始,一次20分钟
那么,提交错误次数
就等于 提交次数
减去 1
,考虑到都是AK,所以没有特殊情况。
那么,计算一个人的罚时的代码就是:
int ans = 0;
for (int j = 0; j < m; ++ j)
ans += a[i][j] * 20 - 20;
为了好写,我们可以利用 乘法分配律
, 将 -1 * 20
提取出来。
注意,要求是计算每个人的罚时,所以每次都要输出,再加上一个循环。
C++ Code:
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10, M = 1e2 + 10;
void solve ()
{
//main;
int n, m; std::cin >> n >> m;
int a[M][M] {};
for (int i = 0; i < n; ++ i)
for (int j = 0; j < m; ++ j)
std::cin >> a[i][j];
//计算.
for (int i = 0; i < n; ++ i)
{
int ans = 0;
for (int j = 0; j < m; ++ j)
ans += a[i][j] * 20 - 20;
std::cout << ans << ' ';
}return ;
}int main ()
{
//main;
int T = 1; //cin >> T;
while (T --)
solve ();
return 0;
}
这里空空如也
有帮助,赞一个