不是
查看原帖
不是
1118614
I_Love_DS楼主2024/10/15 21:07

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;
}

本地正确的啊,为什么一交到洛谷就不行

2024/10/15 21:07
加载中...