add aloha/2025maple

This commit is contained in:
2025-10-29 11:34:12 +09:00
parent 3fe81ee226
commit 7c0e857404
12 changed files with 140 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
#include <iostream>
using namespace std;
int main() {
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
}

View File

@@ -0,0 +1,59 @@
#define MAXN 50
#include <iostream>
using namespace std;
char ansLine;
int N, T, A[MAXN][MAXN], B[MAXN][MAXN], ansNum;
void check();
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
while (!cin.eof()) {
cin >> T;
if (T == 1) {
cin >> N;
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
cin >> A[i][j];
for (int i = 0; i < N; i++) cout << "H 1\n";
if (N % 2)
for (int i = 0; i < N; i++) A[0][i] = !A[0][i];
} else if (T == 2) {
cin >> N;
for (int i = 0; i < N; i++)
for (int j = 0; j < N; j++)
cin >> B[i][j];
check();
if (ansNum == -1) cout << 0 << "\n";
else cout << 1 << "\n" << ansLine << " " << ansNum << "\n";
}
}
}
void check() {
int row = -1, col = -1;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (A[i][j] != B[i][j]) {
if (row == i) ansLine = 'H';
else if (col == j) ansLine = 'V';
row = i, col = j;
}
}
}
if (ansLine == 'H') ansNum = row+1;
else if (ansLine == 'V') ansNum = col+1;
else ansNum = -1;
}

View File

@@ -0,0 +1,40 @@
#define N 8
#include <iostream>
#include <queue>
#include <utility>
using namespace std;
using pii = pair<int, int>;
int n = N, arr[N];
queue<pii> q;
void sweet(int l, int r);
int main() {
sweet(0, N-1);
for (int e : arr) cout << e << " ";
cout << "\n";
}
void sweet(int l, int r) {
q.push({l, r});
while (!q.empty()) {
pii now = q.front(); q.pop();
int l = now.first, r = now.second;
int mid = (l+r)/2;
if (l > r) continue;
arr[mid] = n--;
if (mid-1 - l > r - (mid+1)) {
q.push({l, mid-1});
q.push({mid+1, r});
} else {
q.push({mid+1, r});
q.push({l, mid-1});
}
}
}

View File

@@ -0,0 +1,33 @@
#include <iostream>
using namespace std;
int main() {
int n, inv, curr, before;
int delta;
cin >> n >> before;
bool bflag = false;
for (int i = 1; i <= n; i++) {
if (bflag) {
cout << i - 1 << " " << i << endl;
} else {
cout << i << " " << i << endl;
}
cin >> curr;
if(curr == 0) {
break;
}
delta = curr - before;
if(delta > 0) {
bflag = true;
} else {
bflag = false;
before = curr;
}
}
return 0;
}