1仓库规划
#include <iostream>
#include <vector>
using namespace std;int main() {
int N = 0, M = 0;
cin >> N >> M;
vector<vector<int>> vct(N + 1, vector<int>(M));
for (int i = 1; i <= N; i++) {
for (int j = 0; j < M; j++) {
cin >> vct[i][j];
}
}
for (int i = 1; i <= N; i++) {
int res = 0;
for (int j = 1; j <= N; j++) {
if (i != j) {
bool flag = true;
for (int k = 0; k < M; k++) {
if (vct[j][k] <= vct[i][k]) {
flag = false;
break;
}
}
if (flag) {
res = j;
break;
}
}
}
cout << res << endl;
}
return 0;
}
2因子化简
#include <iostream>
#include <vector>
using namespace std;int main() {
int q = 0;
cin >> q;
vector<long long> resv;
vector<int> zhi = { 2 };
for (int i = 3; i <= 100000; i += 2) {
int judge = 1;
for (int x : zhi) {
if (i % x == 0) {
judge = 0;
break;
}
}
if (judge) {
zhi.push_back(i);
}
}
int sz = zhi.size() - 1;
for (int i = 0; i < q; i++) {
long long val = 0, res = 1;
int k = 0;
cin >> val >> k;
for (int j = sz; j >= 0; j--) {
if (val == 1) {
break;
}
int count = 0;
while (val % zhi[j] == 0) {
val /= zhi[j];
count++;
}
if (count > 0 && count >= k) {
for (int a = 0; a < count; a++) {
res *= zhi[j];
}
}
}
resv.push_back(res);
}
for (int i = 0; i < q; i++) {
cout << resv[i] << endl;
}
return 0;
}