zoukankan      html  css  js  c++  java
  • hdu 4941 Magical Forest ( 双重map )

    题目链接

    题意:

    有一个n*m的田地,里边有k棵树,每棵树的位置为(xi,yi),含有能量值ci。之后又q个询问,分三种;

    1)1 a b,将a行和b行交换

    2)2 a b,将a列和b列交换

    3)3 a b,询问(a,b)位置的果树的能量值。

    分析:由于n和m很大,而k很小,所以可以用map离散化。每次交换行或者列的时候只需交换map映射的值即可。

    交换的时候只是交换离散以后的代号就行,mp【】【】里面还是原来的。

     

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 #include <map>
     6 #include <algorithm>
     7 #define LL __int64
     8 using namespace std;
     9 
    10 int main()
    11 {
    12     int W, n, m, k, tmp;
    13     int x, y, c, t, q, ca=1;
    14     int cnt_r, cnt_c;
    15     scanf("%d", &W);
    16     while(W--)
    17     {
    18         map<int, int>mr, mc;
    19         map<int, map<int, int> >mp;  //双重map
    20         scanf("%d%d%d", &n, &m, &k);
    21         cnt_r = 1;
    22         cnt_c = 1;
    23         while(k--)
    24         {
    25             scanf("%d%d%d", &x, &y, &c);
    26             if(!mr[x])
    27             mr[x] = cnt_r++;  //离散化
    28             if(!mc[y])
    29             mc[y] = cnt_c++;  //离散化
    30             mp[mr[x]][mc[y]] = c;
    31         }
    32         printf("Case #%d:
    ", ca++);
    33         scanf("%d", &t);
    34         while(t--)
    35         {
    36             scanf("%d%d%d", &q, &x, &y);
    37             if(q==1)  //行交换
    38             {
    39                 tmp = mr[x];
    40                 mr[x] = mr[y];
    41                 mr[y] = tmp;
    42             }
    43             else if(q==2) //列交换
    44             {
    45               tmp = mc[x];
    46               mc[x] = mc[y];
    47               mc[y] = tmp;
    48             }
    49             else
    50                 printf("%d
    ", mp[mr[x]][mc[y]]);
    51         }
    52     }
    53     return 0;
    54 }
  • 相关阅读:
    整站爬虫命令
    小故事集锦
    中国最经典广告语大全
    常用的正则表达式
    特殊成员方法
    使用super函数----增量重写普通方法和构造方法
    重写普通方法和构造方法------原类的方法会被覆盖
    Python的数据类型与数据结构
    类和对象
    生产者-消费者问题与quene模块
  • 原文地址:https://www.cnblogs.com/bfshm/p/3911763.html
Copyright © 2011-2022 走看看