zoukankan      html  css  js  c++  java
  • 10月28日 小X的液体混合

    题目

         

    分析

         正解是并查集+高精

          枚举加高精就好了

     

    代码

        

     1 #include<iostream>
     2 #include<queue>
     3 using namespace std;
     4 bool map[1001][1001],flag[1001];
     5 int ans[1001];
     6 queue <int> q;
     7 int main ()
     8 {
     9     int n,m;
    10     cin>>n>>m;
    11     int a,b;
    12     for (int i=1;i<=m;i++)
    13     {
    14         cin>>a>>b;
    15         map[a][b]=1;
    16         map[b][a]=1;
    17         
    18     }
    19     ans[1000]=1;
    20     for (int j=1;j<=n;j++)
    21     {
    22         if (flag[j]==0)
    23         {
    24             q.push(j);
    25             flag[j]=1;
    26         }
    27         while (!q.empty())
    28         {
    29             int k=q.front();
    30             q.pop();
    31             for (int i=1;i<=n;i++)
    32             {
    33               if (map[k][i]==1&&flag[i]==0)
    34               {
    35                 int tt=0;
    36                 for (int ii=1000;ii>=1;ii--)
    37                 {
    38                   ans[ii]=ans[ii]*2+tt;
    39                   tt=ans[ii]/10;
    40                   ans[ii]%=10;    
    41                 }
    42                 q.push(i);
    43                 flag[i]=1;
    44               }
    45                 
    46             }
    47         }
    48        }
    49      int j=1;
    50     while (ans[j]==0) j++;
    51     for (int i=j;i<=1000;i++)
    52       cout<<ans[i];
    53 }
    为何要逼自己长大,去闯不该闯的荒唐
  • 相关阅读:
    android-手势密码
    MS SQL 技巧总结--持续更新
    MySQL 笔记一
    spring 家族
    Java集合
    javaScript
    java 知识点随记
    MySQL 知识点随记
    odoo 权限杂记
    win10 Ubuntu子系统安装&odoo10社区版安装
  • 原文地址:https://www.cnblogs.com/zjzjzj/p/9861159.html
Copyright © 2011-2022 走看看