hdu4941 map交换行列
生活随笔
收集整理的這篇文章主要介紹了
hdu4941 map交换行列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ?有一個大矩陣,某些格子上有數字,然后有三種操作,
1 交換行
2 交換列
3 詢問當前坐標數值
思路:
? ? ?有一個大矩陣,某些格子上有數字,然后有三種操作,
1 交換行
2 交換列
3 詢問當前坐標數值
思路:
? ? ?直接用map去映射行列,用二維的map去存數字就行了,水題,想不通的看下代碼。
#include<stdio.h> #include<map> using namespace std;map<int ,int>row ,col; map<int ,map<int ,int> >my_map;int main () {int n ,m ,k ,i ,q ,a ,b ,c;int cas = 1 ,T;scanf("%d" ,&T);while(T--){scanf("%d %d %d" ,&n ,&m ,&k);row.clear();col.clear();my_map.clear();while(k--){scanf("%d %d %d" ,&a ,&b ,&c);a ++ ,b ++;row[a] = a;col[b] = b;my_map[a][b] = c;}scanf("%d" ,&q);printf("Case #%d:\n" ,cas ++);while(q--){scanf("%d %d %d" ,&a ,&b ,&c);b ++ ,c ++;if(a == 1){int tmp = row[b];row[b] = row[c];row[c] = tmp;}if(a == 2){int tmp = col[b];col[b] = col[c];col[c] = tmp;}if(a == 3)printf("%d\n" ,my_map[row[b]][col[c]]);}}return 0; }
總結
以上是生活随笔為你收集整理的hdu4941 map交换行列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu4966 最小树形图(最少辅导花费
- 下一篇: hdu4950 打怪(简单题目)