L1 8 刮刮彩票

2021-10-16 07:57:50 字數 3951 閱讀 9071

「刮刮彩票」是一款網路遊戲裡面的乙個小遊戲。如圖所示:

每次遊戲玩家會拿到一張彩票,上面會有 9 個數字,分別為數字 1 到數字 9,數字各不重複,並以 3×3 的「九宮格」形式排布在彩票上。

在遊戲開始時能看見乙個位置上的數字,其他位置上的數字均不可見。你可以選擇三個位置的數字刮開,這樣玩家就能看見四個位置上的數字了。最後玩家再從 3 橫、3 豎、2 斜共 8 個方向中挑選乙個方向,方向上三個數字的和可根據下列**進行兌獎,獲得對應數額的金幣。

數字合計 獲得金幣 數字合計 獲得金幣

現在請你寫出乙個模擬程式,模擬玩家的遊戲過程。

輸入第一部分給出一張合法的彩票,即用 3 行 3 列給出 0 至 9 的數字。0 表示的是這個位置上的數字初始時就能看見了,而不是彩票上的數字為 0。

第二部給出玩家刮開的三個位置,分為三行,每行按格式 x y 給出玩家刮開的位置的行號和列號(題目中定義左上角的位置為第 1 行、第 1 列。)。資料保證玩家不會重複刮開已刮開的數字。

最後一部分給出玩家選擇的方向,即乙個整數: 1 至 3 表示選擇橫向的第一行、第二行、第三行,4 至 6 表示縱向的第一列、第二列、第三列,7、8分別表示左上到右下的主對角線和右上到左下的副對角線。

對於每乙個刮開的操作,在一行中輸出玩家能看到的數字。最後對於選擇的方向,在一行中輸出玩家獲得的金幣數量。

123

4567

8011

2223

7

156

180

#include

#include

#include

using

namespace std;

intmain()

;int x,y;

for(

int i=

1; i<=

3; i++

) b[a[i]

[j]]=1

;}}for

(int i=

1; i<

10; i++)}

for(

int i=

0; i<

3; i++

) cin>>x;

if(x<=3)

else

if(x<=6)

else

if(x==7)

else

if(x==8)

if(y==6)

cout<<

"10000"

;else

if(y==7)

cout<<

"36"

;else

if(y==8)

cout<<

"720"

;else

if(y==9)

cout<<

"360"

;else

if(y==10)

cout<<

"80"

;else

if(y==11)

cout<<

"252"

;else

if(y==12)

cout<<

"108"

;else

if(y==13)

cout<<

"72"

;else

if(y==14)

cout<<

"54"

;else

if(y==15)

cout<<

"180"

;else

if(y==16)

cout<<

"72"

;else

if(y==17)

cout<<

"180"

;else

if(y==18)

cout<<

"119"

;else

if(y==19)

cout<<

"36"

;else

if(y==20)

cout<<

"306"

;else

if(y==21)

cout<<

"1080"

;else

if(y==22)

cout<<

"144"

;else

if(y==23)

cout<<

"1800"

;else

if(y==24)

cout<<

"3600"

;return0;

}

#include

using namespace std;

intmain()

;int p,ii,jj;

for(

int i=

1; i<

4; i++

) b[p]=1

;}}for

(int i=

0; i<

10; i++)if

(b[i]==0

) p=i;

a[ii]

[jj]

=p;for

(int i=

0; i<

3; i++

) cin>>p;

int w=0;

if(p>=

1&&p<=3)

else

if(p>=

4&&p<=6)

else

if(p==7)

else

if(p==8)

if(w==

6) cout<<

"10000"

;else

if(w==

7) cout<<

"36"

;else

if(w==

8) cout<<

"720"

;else

if(w==

9) cout<<

"360"

;else

if(w==

10) cout<<

"80"

;else

if(w==

11) cout<<

"252"

;else

if(w==

12) cout<<

"108"

;else

if(w==

13) cout<<

"72"

;else

if(w==

14) cout<<

"54"

;else

if(w==

15) cout<<

"180"

;else

if(w==

16) cout<<

"72"

;else

if(w==

17) cout<<

"180"

;else

if(w==

19) cout<<

"36"

;else

if(w==

20) cout<<

"306"

;else

if(w==

21) cout<<

"1080"

;else

if(w==

22) cout<<

"144"

;else

if(w==

23) cout<<

"1800"

;else

if(w==

24) cout<<

"3600"

; cout<

return0;

}

2023年團體程式設計天梯賽 L1 8 刮刮彩票

思路 水題,略過 tip 這題沒想到很多人都錯了,這裡有兩個容易錯的點需要注意 0 表示的是這個位置上的數字初始時就能看見了,而不是彩票上的數字為 0。這句話特意標黑了,意思是1 9這九個數都出現僅出現一次,如果1 8出現了,那麼這個0的位置代表9這個數字 翻開不翻開數字是不會變化的!我隊友以為沒被...

L1 072 刮刮彩票 20 分

每次遊戲玩家會拿到一張彩票,上面會有 9 個數字,分別為數字 1 到數字 9,數字各不重複,並以 3 3 的 九宮格 形式排布在彩票上。在遊戲開始時能看見乙個位置上的數字,其他位置上的數字均不可見。你可以選擇三個位置的數字刮開,這樣玩家就能看見四個位置上的數字了。最後玩家再從 3 橫 3 豎 2 斜...

Android刮彩票效果

實現分析 1.底部一張 2.頭部是乙個矩形遮擋 3.通過滑動監聽,讓矩形缺失,露出底部 private rectf rectf private bitmap bitmap bitmapfactory.decoderesource getresources r.drawable.test 頭部 pri...