CCF 1158 骰子遊戲

2021-10-11 20:11:50 字數 1217 閱讀 2525

題目描述

滾骰(tou)子是一件有益身心健康的運動,因此骰子遊戲可是乙個很受年輕人歡迎的遊戲。現在先介紹一下這個聞名遐邇的骰子遊戲吧。

首先是主角:骰子。骰子就是很普通的骰子:骰子有六個面,分別標號1到6,三對面上的數字之和均為7。以下是骰子的乙個圖示。

然後我們介紹這個遊戲的地圖:乙個r*c的網格圖。骰子一開始的狀態如上圖所示(即上面為 1,下面為 6,左面為 4,右面為 3,前面為 2,後面為 5),且位置在左上角。

然後重頭戲來了,你需要的操作就是滾動骰子。滾動骰子當然是有軌跡的。你需要從左到右滾動到右端,然後向下滾動一格然後在向左滾動到左端,再向下一格,如此反覆…直到最下面一行為止。

遊戲的目的就是請你計算出骰子到達每個格點時,骰子上方的數字之和。

輸入第一行包含兩個整數 r 和 c。

輸出第一行包含兩個整數 r 和 c。(注意這裡,題目提示出錯,應該是計算到達所有格仔時上面數字之和。)

樣例輸入

3 2
樣例輸出

19
資料範圍限制

對於50%的資料1<=r,c<=100

對於100%的資料 1<=r,c<=100000

提示第一行包含兩個整數 r 和 c。

思路:一、使用乙個陣列記錄骰子每一面的狀態

二、通過奇偶行的較驗,可以模擬骰子是向左還是向右滾動

三、骰子無論向左還是向右,都是四次一迴圈,所以我們模擬的時候,不需要全部模擬(全模擬會超時),只需要把足夠四次迴圈進行固定的計算,而不足四次迴圈的,進行模擬則可

四、注意,對於100%的資料,數字之和會超過int的範圍,所以結果需要使用long long去儲存。

滿分**:

#includeusing namespace std;

int n,m,a[6]=; //上 下 前 後 右 左

long long ans;

void gun1()

void gun2()

void gun3()

int main()

}else

}gun3();//一行轉完,向下滾一格

}printf("%lld",ans);

return 0;

}

擲骰子遊戲

遊戲者每次投擲兩顆骨子,每個骰子是乙個正方體,當骰子停止時,將每個骰子朝上的點數相加,在第一次投擲骰子時,如果所得到的和為7或11,那麼遊戲者為勝 所得和為2 3或12則輸 如和為4 5 6 8 9或 10,則此和為遊戲者點數。如要想贏得勝利,必須繼續投擲骰子,直到取和得自己的點數 也即規則2的點數...

擲骰子遊戲

寫乙個搖骰子遊戲,要求使用者壓大小,賠率一賠一。要求 三個骰子,每個骰子的值從1 6,搖大小,每次列印搖出來3個骰子的值。import random defroll dice count 0 point 定義乙個空的點數變數儲存每次搖骰子獲得的數字 while count 3 num random....

擲骰子遊戲

編寫程式模擬擲骰子遊戲。已知擲骰子遊戲的遊戲規則為 每個骰子有6面,這些面包含1 2 3 4 5 6六個點,投兩枚骰子之後,計算點數之和。如果第一次投的點數和為7或11,則遊戲者獲勝 如果第一次投的點數和為2 3或12,則遊戲者輸 如果第一次投的點數和為4 5 6 8 9或10,則將這個和作為遊戲者...