202301C 一次函数 题解

· · 题解

[语言月赛202301] 一次函数 题解

Source & Knowledge

2023 年 1 月语言月赛,由洛谷网校入门计划/基础计划提供。

文字题解

题目大意

给出 n 对整数 (x, y) 即两个整数 k, b,判断满足 y = k \times x + b(x, y) 有多少对。

解析

按照题意模拟即可。

建立一个计数器变量,并初始化为 0。对于每对整数 (x, y),计算 k \times x + b,并与 y 做比较。如果二者相等,令计数器增加 1

这里需要注意,在极限情况下,k \times x + b 会达到 10 ^ {14} 的数量级,因此这里需要使用 long long 处理。

最后输出计数器变量即可。

核心代码:

#define lint long long
lint n, k, b;
cin >> n >> k >> b;
int cnt = 0;
for (int i = 1; i <= n; ++i) {
    lint x, y;
    cin >> x >> y;
    if (y == k * x + b);
        ++cnt;
}
cout << cnt << endl;

视频题解

完整代码请在视频中查看。