第九屆河南省賽 1276 機器裝置 bfs

2021-09-17 23:41:56 字數 1463 閱讀 5664

alpha 公司設計出一種節能的機器裝置。它的內部結構是由 n 個齒輪組成。整個機器裝置有 乙個驅動齒輪,當啟動它時,它立即按 10,000 圈/小時轉速順時針轉動,然後它又帶動與它相切 的齒輪反方向,即逆時針轉動。齒輪之間互相作用,每個齒輪都可能驅動著多個齒輪,最終帶動 乙個工作齒輪完成相應的任務。 在這套裝置中,記錄了每個齒輪的圓心座標和齒輪半徑。已知驅動齒輪位於(0,0),最終的 工作齒輪位於(xt, yt)。 alpha 公司想知道傳動序列中所有齒輪的轉速。所謂傳動序列,即能量由驅動齒輪傳送,最 後到達工作齒輪的過程中用到的所有齒輪。能量傳送過程是,在乙個半徑為 r,轉速為 s 圈/每小 時的齒輪的帶動下,與它相切的半徑為 r』的齒輪的轉速為-s*r/r』 轉/小時。負號的意思是, 表 示按反方向轉動。

已知,機器裝置中除了驅動齒輪以外,所有齒輪都可能被另外某個齒輪帶動,並且不會出現 2 個不同的齒輪帶動同乙個齒輪的情況。 你的任務是計算整個傳動序列中所有齒輪的能量之和。即所有齒輪轉速的絕對值之和。 

第一行: t 表示以下有 t 組測試資料(1≤t ≤8)

對每組測試資料:

第 1 行: n xt yt (2≤n ≤1100)

接下來有 n 行, xi yi ri 表示 n 個齒輪的座標和半徑 i=1,2,….,n

( -5000 ≤xi ,yi ≤ 5000 3 ≤ ri ≤ 1000 )

座標以及半徑是整數

每組測試資料,輸出佔一行,即所有齒輪轉速的絕對值之和 在double範圍內,輸出整數部分
1

4 32 54

0 30 20

0 0 10

32 54 20

-40 30 20

20000
1.注意不是所有的齒輪的轉速和,是路徑上的齒輪的轉速和。

2.輸出整數部分,%.0lf是錯的。。。。。。

3.注意double

①:方向可以省略。②:題目保證齒輪合法,且目標齒輪必定能帶動

#includeusing namespace std;

const int max_n=10005;

struct noa[max_n];

bool vis[max_n];

bool check(no a,no b)

int main()

if(a[i].x==tar.x&&a[i].y==tar.y)

}tot=1.00*tot*a[sta].r;

queueq;

while(!q.empty()) q.pop();

q.push(no);

vis[sta]=1;

while(!q.empty())

for(int i=1;i<=n;i++)}}

printf("%d\n",(int)ans);

}return 0;

}

河南省第九屆省賽 通道安全

時間限制 1000 ms 記憶體限制 65535 kb 難度 2描述 alpha 機構有自己的一套網路系統進行資訊傳送。情報員 a 位於節點 1,他準備將乙份情報 傳送給位於節點 n 的情報部門。可是由於最近國際紛爭,戰事不斷,很多通道都有可能被遭到監 視或破壞。經過測試分析,alpha 情報系統獲...

河南省第九屆ACM C題

題目 從第乙個節點到底n個節點傳遞資訊,請選擇一條安全概率最高的。輸入 第一行 t 表示有t組測試資料 1 t 8 對於每組測試資料 第一行 n,m 分別表示節點數和通道數 1 n 10000 1 m 50000 接下來有m行 每行 i,j,p 表示節點i,j間有一條通道,p 表示安全的概率 輸出 ...

第九屆河南省ACM省賽 D 飛彈發射

alpha 機構研發出一種新型智慧型飛彈,它能夠在雷達檢測到的區域內,選擇一條前進的路徑,擊破路徑上所有的目標物。雷達位於 0,0 處,它能夠檢測到兩條射線之間的區域 不妨設在第一象限 飛彈一開始置放在 0,0 處,它可以在雷達能檢測到的區域內先選擇乙個目標物擊破,然後 再繼續前進,選擇另乙個目標物...