UVA 10895——Matrix Transpose
生活随笔
收集整理的這篇文章主要介紹了
UVA 10895——Matrix Transpose
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:給定一個矩陣(每一行有幾個非0的數據,對應的位置以及數值),輸出這個矩陣的轉置矩陣。
思路:直接模擬,用兩個vector,一個維護數值,另外一個維護行號。注意長度為0時輸出空行。
code:
#include <bits/stdc++.h> using namespace std; const int N=10005;vector<int>v1[N],v2[N]; int n,m,v[N];int main() {while (~scanf("%d%d",&n,&m)){for (int i=0;i<N;i++) v1[i].clear(),v2[i].clear();int r,x;for (int i=1;i<=n;i++){scanf("%d",&r);for (int j=1;j<=r;j++) scanf("%d",&v[j]);for (int j=1;j<=r;j++) scanf("%d",&x),v1[v[j]].push_back(i),v2[v[j]].push_back(x);}printf("%d %d\n",m,n);for (int i=1;i<=m;i++){int l=v1[i].size();printf("%d",l);for (int j=0;j<l;j++) printf(" %d",v1[i][j]);if (l==0) printf("\n\n");else {printf("\n%d",v2[i][0]);for (int j=1;j<l;j++) printf(" %d",v2[i][j]);puts("");}}}}總結
以上是生活随笔為你收集整理的UVA 10895——Matrix Transpose的全部內容,希望文章能夠幫你解決所遇到的問題。