데이터 구조 매트릭스 의 빠 른 전환 매트릭스 상승 (행 논리 연결 순서 표)

쾌속 전환
#include 
#include 
using namespace std;
class num
{
    public:
    int x,y;
    int e;
    int row,col;
}a[100000],b[100000];
int sum[100000],deal[1000000];
int main()
{
    int i,j,n,m,s,t,flag;
    int flag2;
    cin>>n>>m;
    a[0].row=n; a[0].col=m;
    flag=1;
    for(i=0;i<=n-1;i++)
    {
        for(j=0;j<=m-1;j++)
        {
            cin>>s;
            if(s)
            {
                a[flag].x=i;
                a[flag].y=j;
                a[flag++].e=s;
            }
        }
    }
    b[0].row=m; b[0].col=n;
    memset(sum,0,sizeof(sum));
    for(i=1;i<=flag-1;i++)
    {
        sum[a[i].y]++;
    }
    deal[0]=1;
    for(i=1;i<=m-1;i++)
    {
        deal[i]=deal[i-1]+sum[i-1];
    }
    for(i=1;i<=flag-1;i++)
    {
       flag2=deal[a[i].y];
       b[flag2].x=a[i].y;    b[flag2].y=a[i].x;
       b[flag2].e=a[i].e;
       deal[a[i].y]++;
    }
    int x=1;
    for(i=0;i<=b[0].row-1;i++)
    {
        for(j=0;j<=b[0].col-1;j++)
        {
            if(i==b[x].x&&j==b[x].y)
            {
                cout<

 
행렬 의 상승 (줄 연결 정 보 를 가 진 3 원 그룹 표 는 줄 논리 링크 의 순서 표)
#include 
#include 
#include 
using namespace std;
class num
{
    public:
    int x,y;
    int e;
    int sum[10000],row,col,deal[10000];
}a[1000],b[1000],c[1000];
int sum[1000];
int main()
{
    void build(num *ex,int n,int m);
    int i,j,n,m,s,t,flag;
    cout<>n>>m;
    build(a,n,m);
    cout<>n>>m;
    build(b,n,m);
    if(a[0].col!=b[0].row)
    {
        cout<>s;
            if(s)
            {
                t++;
                ex[flag].x=i; ex[flag].y=j;
                ex[flag++].e=s;
            }
        }
        ex[0].sum[i]=t;
    }
    ex[0].deal[0]=1;
    for(i=1;i<=n-1;i++)
    {
        (ex[0].deal)[i]=(ex[0].deal)[i-1]+(ex[0].sum)[i-1];
    }
}

좋은 웹페이지 즐겨찾기