{/'title/':/'小 C 正在用彩铅给一张 n 行 m 列的方格纸涂色。初始时,所有方格都是空白的。他一共要进行 q 次涂色,每次涂色会选取一行或一列,给这一行或这一列的所有方格都添加 1 层颜色。小 C 喜欢浅色,所以他会在每次涂色结束后,把所有被涂上k 层颜色的方格的颜色都擦掉,让这些方格都变成空白的。小 C 想知道,在最终共有多少方格被涂上了颜色。//n输入格式:第一行四个整数nmqk,接下来q行,每行两个整数op,x,若 op=1,则表示给第 x 行的所有方格都添加 1 层颜色;若op=2,则表示给第 x 列的所有方格都添加 1 层颜色。//n输出格式:一个整数,表示在最终共有多少方格被涂上了颜色。//n输入样例://n3 4 5 3//n1 3//n2 4//n1 2//n1 3//n2 2//n输出样例://n8//n数据范围://n1<=n,m<=200000//n1<=k<=q<=500000/',/'content/':/'cpp//n#include <iostream>//n#include <vector>//n//nusing namespace std;//n//nint main() {//n int n, m, q, k;//n cin >> n >> m >> q >> k;//n//n vector<int> rows(n, 0);//n vector<int> cols(m, 0);//n int total = 0;//n//n for (int i = 0; i < q; i++) {//n int op, x;//n cin >> op >> x;//n //n if (op == 1) {//n rows[x-1]++;//n total += m - cols[x-1];//n } else {//n cols[x-1]++;//n total += n - rows[x-1];//n } //n }//n//n cout << total - k * min(n, m) << endl;//n//n return 0;//n}//n/

C++ 彩铅涂色算法 - 统计涂色方格数量

原文地址: https://www.cveoy.top/t/topic/qvlP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录