hdu 4941 map的应用+离散
1 #include<iostream> 2 #include<cstdio> 3 #include<map> 4 #include<algorithm> 5 using namespace std; 6 7 int main() 8 { 9 int T,n,m,k,a,b,c,q,cas=1; 10 scanf("%d",&T); 11 while(T--) 12 { 13 map<int,map<int,int> > w; 14 map<int,int> row,col; 15 int x=0,y=0; 16 scanf("%d%d%d",&n,&m,&k); 17 for(int i=0; i<k; i++) 18 { 19 scanf("%d%d%d",&a,&b,&c); 20 if(!row[a]) 21 row[a]=++x; 22 if(!col[b]) 23 col[b]=++y; 24 w[row[a]][col[b]]=c; 25 } 26 scanf("%d",&q); 27 printf("Case #%d:\n",cas++); 28 while(q--) 29 { 30 scanf("%d%d%d",&c,&a,&b); 31 if(c==1) 32 swap(row[a],row[b]); 33 if(c==2) 34 swap(col[a],col[b]); 35 if(c==3) 36 printf("%d\n",w[row[a]][col[b]]); 37 } 38 } 39 return 0; 40 }