A. youngmagician爆肝抽卡手游 签到题,根据题意模拟每天youngmagician获取哪个角色即可,使用数组标记每个角色的获取情况。
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
struct op {
ll val;
ll pos;
};
bool cmp(op l, op r) { return l.val > r.val; }
int main() {
ll n, m;
cin >> n >> m;
vector<op> d[n + 1];
for (ll x = 1; x <= n; x++) {
for (ll y = 1; y <= m; y++) {
op temp;
cin >> temp.val;
temp.pos = y;
d[x].push_back(temp);
}
}
for (ll x = 1; x <= n; x++) {
sort(d[x].begin(), d[x].end(), cmp);
}
vector<ll> vis(m + 1);
for (ll x = 1; x <= n; x++) {
ll cmp = 0;
while (vis[d[x][cmp].pos]) {
cmp++;
}
vis[d[x][cmp].pos] = 1;
}
for (ll x = 1; x <= m; x++) {
cout << vis[x] << " ";
}
cout << "\n";
return 0;