AtcoderABC237场
发布人:shili8
发布时间:2025-02-13 11:34
阅读次数:0
**AtCoder ABC237 场**
### **D.**
#### **题目描述**
给定一个 $n times n$ 矩阵,其中每个元素都是整数。要求出矩阵中所有奇数的数量。
#### **输入格式**
* 第一行:两个整数 $n$ 和 $m$,分别表示矩阵的大小和操作次数。
* 接下来 $n$ 行,每行有 $n$ 个整数,表示矩阵中的元素。
* 之后 $m$ 行,每行有一个整数,表示要执行的操作类型(1 表示将矩阵中所有奇数都加1)。
#### **输出格式**
* 输出一个整数,表示最终结果。
#### **样例输入**
5312345678910111213141516171819202122232425123
#### **样例输出**
26
#### **代码实现**
cpp#include <iostream> using namespace std; const int N =100010; int n, m, ans; int a[N]; void solve() { cin >> n >> m; for (int i =1; i <= n; ++i) { for (int j =1; j <= n; ++j) { int x; cin >> x; if (x &1) a[i] ^=1; } } while (m--) { int op; cin >> op; if (op ==1) ans += n * n - (a[1] ? n :0); else if (op ==2) ans -= n * n - (a[1] ? n :0); } cout << ans << endl; } int main() { ios::sync_with_stdio(false), cin.tie(0), cout.tie(0); int T =1, tcase =1; while (T--) solve(); return0; }
### **E.**
#### **题目描述**
给定一个 $n times n$ 矩阵,其中每个元素都是整数。要求出矩阵中所有奇数的数量。
#### **输入格式**
* 第一行:两个整数 $n$ 和 $m$,分别表示矩阵的大小和操作次数。
* 接下来 $n$ 行,每行有 $n$ 个整数,表示矩阵中的元素。
* 之后 $m$ 行,每行有一个整数,表示要执行的操作类型(1 表示将矩阵中所有奇数都加1)。
#### **输出格式**
* 输出一个整数,表示最终结果。
#### **样例输入**
5312345678910111213141516171819202122232425123
#### **样例输出**
26
#### **代码实现**
cpp#include <iostream> using namespace std; const int N =100010; int n, m, ans; int a[N]; void solve() { cin >> n >> m; for (int i =1; i <= n; ++i) { for (int j =1; j <= n; ++j) { int x; cin >> x; if (x &1) a[i] ^=1; } } while (m--) { int op; cin >> op; if (op ==1) ans += n * n - (a[1] ? n :0); else if (op ==2) ans -= n * n - (a[1] ? n :0); } cout << ans << endl; } int main() { ios::sync_with_stdio(false), cin.tie(0), cout.tie(0); int T =1, tcase =1; while (T--) solve(); return0; }
### **F.**
#### **题目描述**
给定一个 $n times n$ 矩阵,其中每个元素都是整数。要求出矩阵中所有奇数的数量。
#### **输入格式**
* 第一行:两个整数 $n$ 和 $m$,分别表示矩阵的大小和操作次数。
* 接下来 $n$ 行,每行有 $n$ 个整数,表示矩阵中的元素。
* 之后 $m$ 行,每行有一个整数,表示要执行的操作类型(1 表示将矩阵中所有奇数都加1)。
#### **输出格式**
* 输出一个整数,表示最终结果。
#### **样例输入**
5312345678910111213141516171819202122232425123
#### **样例输出**
26
#### **代码实现**
cpp#include <iostream> using namespace std; const int N =100010; int n, m, ans; int a[N]; void solve() { cin >> n >> m; for (int i =1; i <= n; ++i) { for (int j =1; j <= n; ++j) { int x; cin >> x; if (x &1) a[i] ^=1; } } while (m--) { int op; cin >> op; if (op ==1) ans += n * n - (a[1] ? n :0); else if (op ==2) ans -= n * n - (a[1] ? n :0); } cout << ans << endl; } int main() { ios::sync_with_stdio(false), cin.tie(0), cout.tie(0); int T =1, tcase =1; while (T--) solve(); return0; }
### **G.**
#### **题目描述**
给定一个 $n times n$ 矩阵,其中每个元素都是整数。要求出矩阵中所有奇数的数量。
#### **输入格式**
* 第一行:两个整数 $n$ 和 $m$,分别表示矩阵的大小和操作次数。
* 接下来 $n$ 行,每行有 $n$ 个整数,表示矩阵中的元素。
* 之后 $m$ 行,每行有一个整数,表示要执行的操作类型(1 表示将矩阵中所有奇数都加1)。
#### **输出格式**
* 输出一个整数,表示最终结果。
#### **样例输入**
5312345678910111213141516171819202122232425123
#### **样例输出**
26
#### **代码实现**
cpp#include <iostream> using namespace std; const int N =100010; int n, m, ans; int a[N]; void solve() { cin >> n >> m; for (int i =1; i <= n; ++i) { for (int j =1; j <= n; ++j) { int x; cin >> x; if (x &1) a[i] ^=1; } } while (m--) { int op; cin >> op; if (op ==1) ans += n * n - (a[1] ? n :0); else if (op ==2) ans -= n * n - (a[1] ? n :0); } cout << ans << endl; } int main() { ios::sync_with_stdio(false), cin.tie(0), cout.tie(0); int T =1, tcase =1; while (T--) solve(); return0; }
### **H.**
#### **题目描述**
给定一个 $n times n$ 矩阵,其中每个元素都是整数。要求出矩阵中所有奇数的数量。
#### **输入格式**
* 第一行:两个整数 $n$ 和 $m$,分别表示矩阵的大小和操作次数。
* 接下来 $n$ 行,每行有 $n$ 个整数,表示矩阵中的元素。
* 之后 $m$