A - Trapezoids
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
int main() {
ios::sync_with_stdio(false), cin.tie(nullptr);
int a, b, h;
cin >> a >> b >> h;
cout << (a + b) * h / 2;
return 0;
}
B - Card Game for Three (ABC Edit)
\(p[]\) 为当前牌堆顶指针。
\(\rm k\) 记录当前要从哪个牌堆抽牌(因为Alice先开始,所以初值为0)
看当前牌堆顶指针是否已经指到 \(len[k]\) 处,如果是则说明当前牌堆已空。
否则的话就把 \(k\) 指向当前牌堆顶的字母所指的牌堆,同时当前牌堆顶指针后移一位。
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
int p[3];
int main() {
ios::sync_with_stdio(false), cin.tie(nullptr);
string s[3];
cin >> s[0] >> s[1] >> s[2];
int len[3];
len[0] = s[0].size(), len[1] = s[1].size(), len[2] = s[2].size();
int k = 0;
while (1) {
if (p[k] == len[k]) {
cout << char(k + 'A');
break;
}
k = s[k][p[k]++] - 'a';//这里 p[k]++ 必须写在里面,否则k更新后再改变的就是新牌堆的堆顶指针了
}
return 0;
}
标签:牌堆,AtCoder,Beginner,int,cin,len,long,using,045
From: https://www.cnblogs.com/pangyou3s/p/18362640