日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

珍珠(信息学奥赛一本通-T1384)

發布時間:2025/3/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 珍珠(信息学奥赛一本通-T1384) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【題目描述】

有n顆形狀和大小都一致的珍珠,它們的重量都不相同。n為整數,所有的珍珠從1到n編號。你的任務是發現哪顆珍珠的重量剛好處于正中間,即在所有珍珠的重量中,該珍珠的重量列(n+1)/2位。下面給出將一對珍珠進行比較的辦法:

給你一架天平用來比較珍珠的重量,我們可以比出兩個珍珠哪個更重一些,在作出一系列的比較后,我們可以將某些肯定不具備中間重量的珍珠拿走。

例如,下列給出對5顆珍珠進行四次比較的情況:

1、珍珠2比珍珠1重

2、珍珠4比珍珠3重

3、珍珠5比珍珠1重

4、珍珠4比珍珠2重

根據以上結果,雖然我們不能精確地找出哪個珍珠具有中間重量,但我們可以肯定珍珠1和珍珠4不可能具有中間重量,因為珍珠2、4、5比珍珠1重,而珍珠1、2、3比珍珠4輕,所以我們可以移走這兩顆珍珠。

寫一個程序統計出共有多少顆珍珠肯定不會是中間重量。

【輸入】

第一行包含兩個用空格隔開的整數N和M,其中1≤N≤99,且N為奇數,M表示對珍珠進行的比較次數,接下來的M行每行包含兩個用空格隔開的整數x和y,表示珍珠x比珍珠y重。

【輸出】

一行包含一個整數,表示不可能是中間重量的珍珠的總數。

【輸入樣例】

5 4
2 1
4 3
5 1
4 2

【輸出樣例】

2

【源程序】

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<string> #include<cstdlib> #include<queue> #include<vector> #include<set> #define INF 0x3f3f3f3f #define PI acos(-1.0) #define N 501 #define MOD 123 #define E 1e-6 using namespace std; int g[N][N]; int main() {int n,m;cin>>n>>m;for(int i=1;i<=m;i++){int x,y;cin>>x>>y;g[x][y]=1;}for(int i=1;i<=n;i++)for(int k=1;k<=n;k++)for(int j=1;j<=n;j++)if(g[k][i]&&g[i][j])g[k][j]=1;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){g[0][j]+=g[i][j];g[i][0]+=g[i][j];}int cnt=0;for(int i=1;i<=n;i++)if( g[0][i]>n/2 || g[i][0]>n/2 )cnt++;cout<<cnt<<endl;return 0; }

?

總結

以上是生活随笔為你收集整理的珍珠(信息学奥赛一本通-T1384)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。