#include <cstdio>
#include <string>
#include <algorithm>
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main()
{
map<int,int>row;
map<int,int>col;
map<int,map<int,int> >mm;
int tt,t,n,m,k,rr,cc,a,b,c,Q,x,y;
while(~scanf("%d",&t))
{
tt=0;
while(t--)
{
mm.clear();
row.clear();
col.clear();
scanf("%d%d%d",&n,&m,&k);
rr=0;
cc=0;
while(k--)
{
scanf("%d%d%d",&a,&b,&c);
if(!row[a])//离散化
{
row[a]=++rr;
x=rr;
}
else
x=row[a];
if(!col[b])
{
col[b]=++cc;
y=cc;
}
else
y=col[b];
mm[x][y]=c;
}
scanf("%d",&Q);
printf("Case #%d:\n",++tt);
while(Q--)
{
scanf("%d%d%d",&a,&b,&c);
if(a==1)
{
int ans=row[c];
row[c]=row[b];
row[b]=ans;
}
else if(a==2)
{
int ans=col[c];
col[c]=col[b];
col[b]=ans;
}
else
{
printf("%d\n",mm[row[b]][col[c]]);
}
}
}
}
return 0;
}
hdu 4941 Magical Forest (map)
最新推荐文章于 2021-02-11 09:53:08 发布