Happy #48 Answer
2025-06-07 18:30:28
发布于:浙江
######################################警告:此答案仅归ACGO官方所有,勿抄!(bushi)##################################################
cpp
print("YES" if int(input()) in range(2,10) else "NO")
cpp
n=int(input())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
c=[]
for i in range(n):
c.append(a[i]+b[-(i+1)])
print(*c)
cpp
s = input()
unique_suits = set(s)
print(len(unique_suits))
cpp
n = int(input())
count = 0
if n % 2 == 0:
count += 1
while n % 2 == 0:
n //= 2
i = 3
while i * i <= n and n > 1:
if n % i == 0:
count += 1
while n % i == 0:
n //= i
i += 2
if n > 1:
count += 1
print(count)
cpp
#include <stdio.h>
int main() {
int T;
scanf("%d", &T);
while (T--) {
int n;
scanf("%d", &n);
int k = 31 - __builtin_clz(n);
printf("%d\n", k + 1);
}
return 0;
}
6.```
cpp
#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
int main() {
int n;
cin >> n;
vector<vector<int>> matrix(n + 1, vector<int>(n + 1));
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j) {
cin >> matrix[i][j];
}
}
vector<vector<int>> row_prefix(n + 1, vector<int>(n + 1));
for (int i = 1; i <= n; ++i) {
row_prefix[i][0] = 0;
for (int j = 1; j <= n; ++j) {
row_prefix[i][j] = row_prefix[i][j - 1] + matrix[i][j];
}
}
int ans = 0;
for (int c1 = 1; c1 <= n; ++c1) {
for (int c2 = c1; c2 <= n; ++c2) {
int L = c2 - c1 + 1;
vector<int> sum_row(n + 1, 0);
for (int i = 1; i <= n; ++i) {
sum_row[i] = row_prefix[i][c2] - row_prefix[i][c1 - 1];
}
vector<int> pre_sum(n + 1, 0);
for (int k = 1; k <= n; ++k) {
pre_sum[k] = pre_sum[k - 1] + sum_row[k];
}
unordered_map<int, int> hash_map;
hash_map[0] = 1;
int current_ans = 0;
for (int k = 1; k <= n; ++k) {
int current_val = 2 * pre_sum[k] - L * k;
current_ans += hash_map[current_val];
hash_map[current_val]++;
}
ans += current_ans;
}
}
cout << ans << endl;
return 0;
}
这里空空如也
有帮助,赞一个