AtCoder Beginner Contest 189 Personal Editorial
第一次参加 AtCoder 的比赛,感觉还挺简单。
比赛链接:https://atcoder.jp/contests/abc189
A - Slot
// Author : RioTian
// Time : 21/01/23
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int main() {
// freopen("in.txt","r",stdin);
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
string s;
cin >> s;
if (s[0] == s[1] && s[1] == s[2])
cout << "Won\n";
else
cout << "Lost\n";
}
B - Alcoholic
高桥(大家都喜欢的高桥同学)要喝酒了,现在有n中酒,如果高桥同学喝酒的量大于
// Author : RioTian
// Time : 21/01/24
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int main() {
// freopen("in.txt","r",stdin);
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
int n, v, p, x;
int sum = 0;
cin >> n >> x;
for (int i = 1; i <= n; ++i) {
cin >> v >> p;
sum += v * p;
if (sum > x * 100) {
cout << i << endl;
return 0;
}
}
cout << -1 << endl;
}
C - Mandarin
求最大连续序列和,但由于n比较小直接暴力即可。
// Author : RioTian
// Time : 21/01/24
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int a[N];
int main() {
// freopen("in.txt","r",stdin);
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
int n;
cin >> n;
for (int i = 0; i < n; ++i) cin >> a[i];
int ans = 0;
for (int l = 0; l < n; ++l) {
int x = a[l];
for (int r = l; r < n; ++r) {
x = min(x, a[r]);
ans = max(ans, x * (r - l + 1));
}
}
cout << ans << endl;
}
D - Logical Expression
如果 AND
则 opt 设为 true,在之后只要
如歌 OR
则 opt 设为 false,需要
// Author : RioTian
// Time : 21/01/24
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 100;
ll dp[N][2];
bool opt[N];
string s;
int main() {
// freopen("in.txt","r",stdin);
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
int n;
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> s;
if (s[0] == 'A')
opt[i] = true;
else
opt[i] = false;
}
dp[0][0] = dp[0][1] = 1;
for (int i = 1; i <= n; ++i) {
if (opt[i - 1]) {
dp[i][0] = 2 * dp[i - 1][0] + dp[i - 1][1];
dp[i][1] = dp[i - 1][1];
} else {
dp[i][0] = dp[i - 1][0];
dp[i][1] = 2 * dp[i - 1][1] + dp[i - 1][0];
}
}
cout << dp[n][1] << endl;
}
E,F比赛时没做就先鸽一下了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 全程不用写代码,我用AI程序员写了一个飞机大战