位元組跳動歷屆筆試題(1)

2021-10-14 05:44:52 字數 1073 閱讀 8555

有三隻球隊,每只球隊編號分別為球隊1,球隊2,球隊3,這三隻球隊一共需要進行 n 場比賽。現在已經踢完了k場比賽,每場比賽不能打平,踢贏一場比賽得一分,輸了不得分不減分。已知球隊1和球隊2的比分相差d1分,球隊2和球隊3的比分相差d2分,每場比賽可以任意選擇兩隻隊伍進行。求如果打完最後的 (n-k) 場比賽,有沒有可能三隻球隊的分數打平。



第一行包含乙個數字 t (1 <= t <= 10)

接下來的t行每行包括四個數字 n, k, d1, d2(1 <= n <= 10^12; 0 <= k <= n, 0 <= d1, d2 <= k)

每行的比分資料,最終三隻球隊若能夠打平,則輸出「yes」,否則輸出「no」
示例1

2

3 3 0 0

3 3 3 3

yes

no

case1: 球隊1和球隊2 差0分,球隊2 和球隊3也差0分,所以可能的賽得分是三隻球隊各得1分

case2: 球隊1和球隊2差3分,球隊2和球隊3差3分,所以可能的得分是 球隊1得0分,球隊2得3分, 球隊3 得0分,比賽已經全部結束因此最終不能打平。

思路:這道題要是考慮所有情況的話賊複雜,還是需要列方程後分類討論,通過題意我們可以很容易列出方程:

之後直接針對d1和d2的符號進行分類討論即可。只有當a+b+c!=k或者a,b,c其中乙個是負數或者大於n/3時才是非法的。

#include#include#includeusing namespace std;

#define mod 1000000007

#define ll long long

ll n,k,d1,d2;

int main(void)

if(flag)

printf("yes\n");

else

printf("no\n");}}

return 0;

}

位元組跳動歷屆筆試題(3)

編碼題 字串s由小寫字母構成,長度為n。定義一種操作,每次都可以挑選字串中任意的兩個相鄰字母進行交換。詢問在至多交換m次之後,字串中最多有多少個連續的位置上的字母相同?第一行為乙個字串s與乙個非負整數m。1 s 1000,1 m 1000000 乙個非負整數,表示操作之後,連續最長的相同字母數量。示...

位元組跳動歷屆筆試題(6)

小明目前在做乙份畢業旅行的規劃。打算從北京出發,分別去若干個城市,然後再回到北京,每個城市之間均乘坐高鐵,且每個城市只去一次。由於經費有限,希望能夠通過合理的路線安排盡可能的省一些路上的花銷。給定一組城市和每對城市之間的火車票的價錢,找到每個城市只訪問一次並返回起點的最小車費花銷。城市個數n 1示例...

位元組跳動筆試題

要求 輸入陣列長度,然後輸入陣列中的各個元素,最後輸入整數k,要求找出陣列中三個元素小於k的三個元素,例如 輸入陣列長度 6 輸入陣列元素 2 0 1 2 3 6 輸出三元組 共4個 下面給出思路和 思路 1 獲得使用者輸入的陣列長度n,若n不為整數,則提示錯誤。2 建立陣列。3 獲得使用者輸入的陣...