比赛 期末考试2 评测结果 AATTTTTMTT
题目名称 魔法 最终得分 20
用户昵称 ychyyx 运行时间 5.266 s
代码语言 C++ 内存使用 31.67 MiB
提交时间 2026-02-10 12:29:37
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n,k,q;
int a[15][100005];
int opt,x,y;
int cnt;
struct node{
    int id;
    int x,y;
}h[100015];
int find(int u,int d){
    if(u<=k)    return a[u][d];
    if(h[u].id==1)  return max(find(h[u].x,d),find(h[u].y,d));
    return min(find(h[u].x,d),find(h[u].y,d));
}
int main(){
    freopen("breeding.in","r",stdin);
    freopen("breeding.out","w",stdout);
    scanf("%d%d%d",&n,&k,&q);
    for(int i=1;i<=k;i++){
        for(int j=1;j<=n;j++){
            scanf("%d",&a[i][j]);
        }
    }
    cnt=k;
    for(int i=1;i<=q;i++){
        scanf("%d%d%d",&opt,&x,&y);
        if(opt==1||opt==2){
            cnt++;
            h[cnt].id=opt;
            h[cnt].x=x;
            h[cnt].y=y;
        }else{
            printf("%d\n",find(x,y));
        }
    }
    return 0;
}