計蒜客三場

2021-08-01 18:14:02 字數 1041 閱讀 6006

在乙個長度為 l

l 公尺的光滑軌道上,小車 a 在 0

0時刻以 1\mathrm1m

/s的速度從左端出發向右運動,小車 b 在 t

t 時刻以 1\mathrm1m

/s的速度從右端出發向左運動,兩個小車的質量相等。假設所有碰撞都是彈性碰撞,也就是當兩個小車相向碰撞時,他們各自會以原來的速度向相反的方向運動;小車和軌道兩端發生碰撞時,小車會以原速度向反方向運動。

試求出 t

t 時刻的時候,兩個小車相距多遠。

輸入三個整數 l(1 \le l \le 1000),l(

1≤l≤

1000

),t(0 \le t \le 1000),t(

0≤t≤

1000

),t(t \le t \le 1000)t(

t≤t≤

1000

)。輸出 t

t 時刻兩車之間的距離。

樣例輸入1

10 4 7

樣例輸出1

0

樣例輸入2

8 3 9

樣例輸出2

5

題意:中文題意,很好明白,不贅述

思路:對其進行奇偶性分析即可!此處又一新知識點,

t&1這個是與運算,需要將t轉換為2進製的數然後t&00000001由於1前面的位數都是0,所以決定結果的就是t的最後一位。如果t是偶數,那麼最後一位肯定是0,結果輸出0如果t是奇數例如3(0011),那麼最後一位肯定是1,結果輸出1

**:#include using namespace std;

int main()

{ int l,a,b;

while(cin>>l>>a>>b)

{swap(a,b);

b=a-b;

int t=a/l+1;

if(t&1)a=a%l;

else

a=l-a%l;

t=b/l+1;

if(t&1)b=l-b%l;

else b=b%l;

cout<

計蒜客 三值排序

三值排序 排序是一種很頻繁的計算任務。乙個實際的例子是,當我們給某項競賽的優勝者按金銀銅牌排序的時候。在這個任務中可能的值只有三種1,2和3。我們用交換的方法把他排成公升序的。寫乙個程式計算出,計算出的乙個包括1 2 3三種值的數字序列,排成公升序所需的最少交換次數。輸入第1行為類別的數量n 1 n...

計蒜客 2019計蒜之道D

題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...

計蒜客 解碼

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...