程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu 1558 Segment set

hdu 1558 Segment set

編輯:C++入門知識

hdu 1558 Segment set


#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include
#include 
#include 
#include 
#include 
using namespace std;

int tot,bin[1024],cnt[1024];

void init()
{
    for(int i=0; i<1024; i++)
    {
        bin[i]=i;
        cnt[i]=1;
    }
    tot=1;
}

int _find(int x)
{
    while(bin[x]!=x)
        x=bin[x];

    return x;
}

int main()
{
    int T,m,i,j,t,k;
    double x1[2024],x2[2024],y1[2024],y2[2024];
    char cmd[10];
    scanf("%d",&T);
    while(T--)
    {
        init();
        scanf("%d",&m);
        for(k=0; k=0&&t2>=0)
                    {
                        if(a>b)
                        {
                            bin[a]=b;
                            cnt[b]+=cnt[a];
                        }
                        else
                        {
                            bin[b]=a;
                            cnt[a]+=cnt[b];
                        }
                    }
                }
                tot++;
            }
            else if(cmd[0]=='Q')
            {
                scanf("%d",&t);
                printf("%d\n",cnt[_find(t)]);
            }
        }
        if(T) printf("\n");
    }
    return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved