AcWing 3464. 包装机
原题链接
中等
作者:
Hidder
,
2021-05-04 22:33:28
,
所有人可见
,
阅读 536
#include <bits/stdc++.h>
#define PII pair <int,int>
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
const int maxn = 1e2+5;
const int MOD = 1e9+7;
int A[maxn];
string str[maxn],S;
int T,m,n,a,b,cnt,k;
int main(){
//freopen("1.in","r",stdin);
cin >> n >> m >> k;
for(int i = 1;i <= n;i++) cin >> str[i];
int op;
while(cin >> op && op != -1){
if(op == 0){ // 拿走最上面的
if(cnt) // 如果有 就拿
cout << S[cnt--];
}else{
if(A[op] < m){ // 如果这一行还有可以拿的
if(cnt >= k){ // 放满了
cout << S[cnt];
S[cnt] = str[op][A[op]++];
}else{ // 没放满就继续放
S[++cnt] = str[op][A[op]++];
}
}
}
}
return 0;
}