2023年11月

垦田计划

#include <iostream> #include <algorithm> using namespace std; int n, k; int m; const int N = 1e6 + 10; int t[N], c[N], mint, maxt; bool check(int tmp){ int s = 0; for (int i = 0;i < n;i ++){ if (tmp < t[i]) s += c[i] * (t[i] - tmp); if (s > m) return false; } return true; } int main(){ cin >> n >> m >> k; mint = k; for (int i = 0;i < n; i ++){ cin >> t[i] >> c[i]; maxt = max(max

矩阵运算

#include <iostream> using namespace std; const int N = 1e4 + 10; int n, d; long long Q[N][21], K[N][21], V[N][21], W[N], res[N][21], t[21][21]; int main(){ cin >> n >> d; for (int i = 0;i < 3;i ++){ for (int j = 0;j < n;j ++){ for (int k = 0;k < d;k ++){ switch (i){ case 0: cin >> Q[j][k]; break; case 1: cin >> K[j][k]; break; case 2: cin >> V[j

重复局面

Pythonn = int(input()) s = ["" for _ in range(n)] for i in range(n): for j in range(8): s[i] += input() print(s.count(s[i])) C++#include <iostream> #include <unordered_map> using namespace std; const int N = 110, k = 131; int n; unordered_map<string, int> map; int main(){ cin >> n; for (int i = 0;i < n; i ++){ string t = ""; int u = 0; for (int j = 0;j < 8;j ++){ string s;

坐标变换

坐标变换(其一)#include <iostream> using namespace std; const int N = 110; int a[N][2], d[N][2], s[2]; int main(){ int n, m; cin >> n >> m; for (int i = 0;i < n; i ++){ cin >> d[i][0] >> d[i][1]; s[0] += d[i][0]; s[1] += d[i][1]; } for (int i = 0;i < m; i ++){ cin >> a[i][0] >> a[i][1]; cout << a[i][0] + s[0] << ' ' << a[i][1] + s[1] << endl; }

目录