「刮刮彩票」是一款網路遊戲裡面的乙個小遊戲。如圖所示:
每次遊戲玩家會拿到一張彩票,上面會有 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...