【題目鏈結】:
【題意】
【題解】
把那個管泛化成乙個點;
然後把每乙個在管裡面的點都和它相連;
然後從起點跑bfs就好;
最後輸出dis[n]/2 +1
因為是點的數目所以要加1
然後每個點都要經過乙個泛化的點再到其他點;
所以肯定邊的數目是偶數個;
用了ios::sync_with_stdio(0)之後puts不能用….
【number ofwa】
4 【完整**】
#include
using
namespace
std;
#define rep1(i,x,y) for (int i = x;i <= y;i++)
#define pb push_back
#define ll long long
struct abc
;const
int n = 1e5+1e3+100;
int n,k,m,dis[n],tot,fir[n],head,tail;
int dl[n];
abc bian[1000000*2+100];
void add(int x,int y)
int main()
}rep1(i,1,n+m)
dis[i]=-1;
dis[1]=0;
head = 0,tail = 1;
dl[1] = 1;
while (headint x = dl[++head];
for (int i = fir[x];i;i=bian[i].nex)}}
if (dis[n]==-1)
cout
<< -1
<< endl;
else
cout
<< dis[n]/2 + 1
0;}
鄭輕邀請賽 G 密室逃脫
題目鏈結 題意 題解 考慮每乙個二進位制數的最高位 第i位 肯定是1 這裡不討論0的情況 然後對於其餘n 1個二進位制數 如果它們在第i位和它一樣 也是1的話,那麼異或結果是0 那麼不管第i位後面的位怎麼變 它肯定是變小的 我們要求的 如果它們在第i為和它不一樣 即為0,那麼異或結果是1 則它肯定是...
鄭輕邀請賽 2266 number 集合
給定n,問有多少數對 x,y滿足 x,y 1,n x y x,y 現的 0,9 的數碼種類相同輸入 乙個整數n n 107 輸出輸出乙個數即答案 樣例輸入 樣例輸出 提示 1,11 2,22 12,21 下面 感覺比較優了,但還是會超時,有新思路會再更新 include define ll long...
湘潭邀請賽A
哥德 猜想 任一大於2的偶數,都可表示成兩個素數之和。是世界上最著名的未解問題之一,但是下面的反哥德 猜想 任一大於11的奇數,都可表示成兩個合數之和。確很容易證明。定義反哥德 分拆數g n 表示將大於11的奇數n分解為兩個合數之和的方案數。再定義sg n sum 即所有不大於n的奇數的反哥德 分拆...