題目描述:
相較於咕咕東,瑞神是個起早貪黑的好孩子,今天早上瑞神起得很早,刷b站時看到了乙個序列a,他對這個序列產生了濃厚的興趣。
他好奇是否存在乙個數k,使得一些數加上k,一些數減去k,一些數不變,使得整個序列中所有的數相等。
其中對於序列中的每個位置上的數字,至多只能執行一次加運算或減運算或是對該位置不進行任何操作。
由於瑞神只會刷b站,所以他把這個問題交給了你!
輸入:輸入第一行是乙個正整數t表示資料組數。
接下來對於每組資料,輸入的第乙個正整數n表示序列a的長度,隨後一行有n個整數,表示序列a。
輸出:輸出共包含t行,每組資料輸出一行。對於每組資料,如果存在這樣的k,輸出"yes",否則輸出「no」。(輸出不包含引號)
sample:
input:25
1 2 3 4 5
51 2 3 4 5
output:
nono
題目分析:
此題表面上複雜,實際上它限制住了只允許有乙個數進行加減,所以難度瞬間下降,為了方便,我們就可以把一組數排列之後再看他們的情況,畢竟它不要求是誰相加,而是只看結果
sort
(a,a+n)
;
分為幾種情況:
如果都是一樣的數,那一定可以,不動即可。
如果有只有兩種不一樣的數,那也可以,要麼是乙個加,要麼是乙個減。
if
(count==
1||count==0)
如果有三種不一樣的數,那麼就要記錄下來看看兩者的差是不是一樣,如果一樣就可以實現(乙個加乙個減),否則就不行
if
(count==2)
else
}
如果超過三個數不一樣那就一定不可能了
for
(int i=
0;i)else
}}
**如下:
#include
#include
#include
using
namespace std;
long
long a[
10010];
intmain()
sort
(a,a+n)
;long
long b[5]
; b[0]
=a[0];
int count=0;
for(
int i=
0;i)else}}
if(count==
1||count==0)
if(count==2)
else}}
}
軟體測試第三次作業
一 互審 我們參考c 語言的規範,鄒欣老師的講義 現代軟體工程講義 3 規範與 複審 等初步制定了 規範。在互審 的過程中發現的問題也主要是在 規範方面,比如命名不嚴謹 空格換行不規範,尤其是很多地方沒有相應的注釋或者不恰當等。二 擴充套件功能 countall.cs using system us...
第三次作業 功能測試
作業要求參見 a 測試環境 windows professional 64bit cmd b 測試步驟 進入wf.exe檔案所在的資料夾 輸入wf s test.txt c 執行結果 1.txt total 5 d 期待執行結果 total 5 e 執行結果與期待執行結果的差異 多輸出了乙個檔名1....
第三次作業
2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...