In:
2 10 1 1
H2 G
CJ LN
D7 SZ
DJ C
CQ LN
H9 B
C5 I
SQ -
S5 SZ
SQ P
Out:
H9 B
C5 I
SQ -
S5 SZ
程序:
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 50;
int n, k, m, p;
int a[N], b[N];
int s[N], cnt = 0;
int main() {
scanf("%d%d%d%d", &n, &k, &m, &p);
k -= k & 1;
if (k < n * 4) {
printf("Error:cards not enough");
return 0;
}
for (int i = 1; i <= k; i++) a[i] = i;
for (; m--; ) {
for (int i = 1; i <= k; i++) {
int pos = 0;
pos += (i - 1) / 2 + 1;
pos += (i & 1) * k / 2;
b[i] = a[pos];
}
for (int i = 1; i <= k; i++) a[i] = b[i];
}
int now = 0;
for (int i = 1; i <= k && cnt < 4; i++) {
now = now % n + 1;
if (now == p) s[a[i]] = 1, ++cnt;
}
getchar();
for (int i = 1; i <= k; i++) {
string x;
getline(cin, x);
if (s[i]) cout << x << endl;
}
return 0;
}
本地正确的啊,为什么一交到洛谷就不行