g-7水題題解:
題意為找出存在於b陣列中的a陣列,b陣列比a陣列多兩個數,乙個數為a陣列的和,另乙個數為無關的數。
我的思路一開始侷限了,所以正確思路應該是將b陣列先求和(記得注意數字範圍),然後排序。排序之後能找到兩個較大值,就又兩種判斷,第一種,用和減去最大值,如果剛好等於倒數第二個數的兩倍,那a陣列就是前n個;第二種,就是在前n+1個數里看能否找出乙個數,用和剪掉之後剛好等於最大數的兩倍,如果能找到就標記該數,輸出n+1陣列中剩下的n個數,否則輸出-1。理論存在,**開始。
這是我的**:
1 #include2using
namespace
std;
3long
long a[200005];4
intmain()
15 sort(a,a+n+2
);16 max1=a[n+1
];17 max2=a[n];
18int flag=0;19
if(sum-max1==max2*2
) 22
else
30if(flag==1)35
}
36else printf("-1"
);37
}38 cout<39 memset(a,0,sizeof
a);40
} 41
return0;
42 }
好了,衝衝衝!!!!!
五一訓練包 水題
c 3 水題題解 題意為判斷所給的數列能不能由題中所給要求交換陣列,使之成為乙個遞增的數列 題目所給要求是 當存在不滿足非遞減的兩個陣列元素時,如果這兩個元素的最大公約數等於陣列中的最小元素,就可以交換,如果最後交換出來的陣列滿足非遞減就輸出yes否則輸出no。題意挺好理解,關鍵是 怎麼做,輸入時可...
ayit五一訓練 b題
在紡織cad系統開發過程中,經常會遇到紗線排列的問題。該問題的描述是這樣的 常用紗線的品種一般不會超過25種,所以分別可以用小寫字母表示不同的紗線,例如 abc表示三根紗線的排列 重複可以用數字和括號表示,例如 2 abc 表示abcabc 1 a 1a表示a 2ab表示aab 如果括號前面沒有表示...
五一彙編題
分析下面的程式,畫出堆疊最滿時各單元的位址及內容。s seg segment at 1000h 定義堆疊段 分析下面的程式,寫出堆疊最滿時各單元的位址及內容。stack segment at 500h 定義堆疊段 dw 128 dup tos label word stack ends code s...