求调
#include <stdio.h>
#include <string.h>
#define N 101
typedef long long ll;
using namespace std;
int n;
int arr[N];
class table {
public:
char table_name[N];
char data[N][N][N];
int x, y;
void input() {
scanf("%s", &table_name);
scanf("%d%d", &x, &y);
for (int i = 1; i <= y; i++) {
scanf("%s", data[1][i]);
}
for (int i = 2; i <= x; i++) {
for (int j = 1; j <= y; j++) {
scanf("%s", &data[i][j]);
}
}
}
};
table tb[11];
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
tb[i].input();
}
int m;
char sx[N];
scanf("%d", &m);
int col_len;
char columns[N][N];
char table_name[N];
char header[N];
char x[N];
while (m--) {
int p = 0;
char temp[N];
{
scanf("%s", sx);
scanf("%s", columns[0]);
scanf("%s", sx);
scanf("%s", table_name);
scanf("%s", sx);
scanf("%s", sx);
while (sx[p] != '=') {
header[p] = sx[p];
p++;
}
p++;
int XXX = 0;
while (sx[p] != '\0') {
x[XXX++] = sx[p];
p++;
}
}
int tempP = 0;
p = 0;
col_len = 1;
while (columns[0][p] != '\0') {
if (columns[0][p] != ',') {
temp[tempP++] = columns[0][p];
} else {
for (int i = 0; i < tempP; i++) {
columns[col_len][i] = temp[i];
}
col_len++;
tempP = 0;
}
p++;
}
for (int i = 0; i < tempP; i++) {
columns[col_len][i] = temp[i];
}
for (int i = 1; i <= n; i++) {
if (strcmp(tb[i].table_name, table_name) == 0) {
int headerP;
for (int j = 1; j <= tb[i].y; j++) {
if (strcmp(tb[i].data[1][j], header) == 0) {
headerP = j;
continue;
}
}
for (int j = 2; j <= tb[i].x; j++) {
if (strcmp(tb[i].data[j][headerP], x) == 0) {
for (int px = 1; px <= col_len; px++) {
int columnP;
for (int q = 1; q <= tb[i].y; q++) {
if (strcmp(tb[i].data[1][q], columns[px]) == 0) {
columnP = q;
continue;
}
}
printf("%s ", tb[i].data[j][columnP]);
}
printf("\n");
}
}
}
}
}
return 0;
}
rp++