main
黄海 2 years ago
parent aa090091c7
commit 325fb48e52

Binary file not shown.

@ -0,0 +1,19 @@
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (j == 1 || j == n)
cout << "|";
else if (i == n / 2 + 1)
cout << "-";
else
cout << "a";
}
puts("");
}
return 0;
}

@ -2,19 +2,19 @@
using namespace std;
const int N = 11;
int a[N];
int b[N];
int main() {
int m, n;
cin >> m >> n;
for (int i = m; i <= n; i++) {
int t = i;
for (int x = m; x <= n; x++) {
int t = x;
while (t) {
int c = t % 10;
a[c]++;
int a = t % 10;
b[a]++;
t /= 10;
}
}
for (int i = 0; i <= 9; i++)cout << a[i] << " ";
for (int i = 0; i <= 9; i++) cout << b[i] << " ";
return 0;
}

@ -3,18 +3,20 @@
using namespace std;
const int N = 3010;
const int INF = 0x3f3f3f3f;
typedef long long LL;
int a[N];
LL MIN = INF;
int s[N], a[N];
int n, m;
int mi = INF;
int main() {
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= n - m + 1; i++) {
LL sum = 0;
for (int j = 0; j < m; j++) sum += a[i + j];
MIN = min(MIN, sum);
for (int i = 1; i <= n; i++) {
cin >> a[i]; // 刺痛值
s[i] = s[i - 1] + a[i]; // 构建一维前缀和
}
cout << MIN << endl;
for (int i = m; i <= n; i++)
mi = min(mi, s[i] - s[i - m]); // 求定区间和并取最小的一部分
// 输出最小值
printf("%d", mi);
return 0;
}

@ -1,28 +0,0 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 3010;
int a[N];
int MIN;
int main() {
//滑动窗口思想
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
//第一组m个数
int sum = 0;
for (int i = 1; i <= m; i++) sum += a[i];
MIN = sum;//第一组数的和是默认值
//滑动窗口,加入下一个数字,减去顶部的数字
for (int i = m + 1; i <= n; i++) {
sum = sum + a[i] - a[i - m];
//不断的取min,找出和的最小值
MIN = min(MIN, sum);
}
//输出最小值
printf("%d", MIN);
return 0;
}

@ -1,22 +0,0 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 3010;
const int INF = 0x3f3f3f3f;
int s[N], a[N];
int n, m;
int MIN = INF;
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];//刺痛值
s[i] = s[i - 1] + a[i];//构建一维前缀和
}
for (int i = m; i <= n; i++)
MIN = min(MIN, s[i] - s[i - m]);//求定区间和并取最小的一部分
//输出最小值
printf("%d", MIN);
return 0;
}

@ -1,22 +1,21 @@
#include <bits/stdc++.h>
using namespace std;
//这题30分的一般都是没有去重……1+4=5和2+3=5算同一个……
//这道题还是挺有意思的,注意,前方有坑!需要理解 5=1+4=2+3但5只算一次的道理。
const int N = 110;
int n;
int a[N];
bool b[N]; //标识已使用
bool b[N];
int cnt;
int main() {
cin >> n;
for (int i = 1; i <= n; i++)cin >> a[i];
for (int i = 1; i <= n; i++) cin >> a[i];
//暴力三层循环+标识数组
for (int i = 1; i < n; i++)
for (int j = i + 1; j <= n; j++)
for (int k = 1; k <= n; k++)
// c=a+b
for (int i = 1; i < n; i++) // 枚举两个数加法中的a,是小的那个
for (int j = i + 1; j <= n; j++) // 枚举两个数加法中的b,是大的那个
for (int k = 1; k <= n; k++) // 枚举结果数c
if (a[k] == a[i] + a[j] && !b[k]) cnt++, b[k] = true;
printf("%d", cnt);

@ -0,0 +1,14 @@
#include <bits/stdc++.h>
using namespace std;
int main() {
int x = 15;
vector<int> path; // 动态数组
while (x) {
int a = x % 2;
path.push_back(a);
x /= 2;
}
for (int i = path.size() - 1; i >= 0; i--)
cout << path[i];
return 0;
}

@ -1,27 +1,18 @@
#include <bits/stdc++.h>
using namespace std;
int L;
int sum; // 已经放到口袋里的数字和
// 检查数字是不是质数
bool isPrime(int n) {
if (n < 2) return false;
for (int i = 2; i <= n / i; i++)
if (n % i == 0) return false;
return true;
}
int cnt;
int main() {
cin >> L;
for (int i = 2;; i++) {
if (isPrime(i)) {
if (sum + i <= L) {
cout << i << endl;
cnt++;
sum = sum + i;
} else
break;
}
int x = 255; // FF
vector<int> path; // 动态数组
while (x) {
int a = x % 16;
path.push_back(a);
x /= 16;
}
for (int i = path.size() - 1; i >= 0; i--) {
if (path[i] < 10)
cout << path[i];
else
printf("%c", 'A' + (path[i] - 10));
}
cout << cnt << endl;
return 0;
}
Loading…
Cancel
Save