uva 10895 Matrix Transpose

来源:互联网 发布:print 用法 python 编辑:程序博客网 时间:2024/05/10 18:26

点击打开链接uva 10895

思路: STL的vector模拟
分析:
1 看懂题目之后,直接利用两个vector模拟即可

代码:

#include<vector>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int MAXN = 10010;vector<int>v1[MAXN];vector<int>v2[MAXN];int m , n , num[MAXN];void init(){    for(int i = 0 ; i < MAXN ; i++){        v1[i].clear();            v2[i].clear();        }}void output(){    printf("%d %d\n" , n , m);    for(int i = 1 ; i <= n ; i++){        int size = v1[i].size();        printf("%d" , size);        for(int j = 0 ; j < size ; j++)            printf(" %d" , v1[i][j]);        if(size == 0)            printf("\n\n");        else{            printf("\n%d" , v2[i][0]);            for(int j = 1 ; j < size ; j++)                printf(" %d" , v2[i][j]);            printf("\n");        }    }}int main(){    int r , x;    while(scanf("%d" , &m) != EOF){        init();        scanf("%d" , &n);        for(int i = 1 ; i <= m ; i++){            scanf("%d" , &r);            for(int j = 1 ; j <= r ; j++)                scanf("%d" , &num[j]);            for(int j = 1 ; j <= r ; j++){                scanf("%d" , &x);                v1[num[j]].push_back(i);                v2[num[j]].push_back(x);            }        }        output();    }    return 0;}


原创粉丝点击