石頭剪刀布

2021-07-22 22:31:03 字數 2637 閱讀 1452

題目描述

石頭剪刀布是常見的猜拳遊戲:石頭勝剪刀,剪刀勝布,布勝石頭。如果兩個人出拳一樣,則不分勝負。在《生活大**》第二季第 8 集中出現了一種石頭剪刀布的公升級版遊戲。公升級版遊戲在傳統的石頭剪刀布遊戲的基礎上,增加了兩個新手勢:

斯波克:《星際迷航》主角之一。

蜥蜴人:《星際迷航》中的反面角色。

這五種手勢的勝負關係如表一所示,表中列出的是甲對乙的遊戲結果。

現在,小 a 和小 b 嘗試玩這種公升級版的猜拳遊戲。已知他們的出拳都是有週期性規律的,但週期長度不一定相等。例如:如果小 a 以「石頭-布-石頭-剪刀-蜥蜴人-斯波克」長度為 6 的週期出拳,那麼他的出拳序列就是「石頭-布-石頭-剪刀-蜥蜴人-斯波克-石頭-布-石頭-剪刀-蜥蜴 人-斯波克-……」,而如果小 b 以「剪刀-石頭-布-斯波克-蜥蜴人」長度為 5 的週期出拳,那麼他出拳的序列就是「剪刀-石頭-布-斯波克-蜥蜴人-剪刀-石頭-布-斯波克-蜥蜴人-……」

已知小 a 和小 b 一共進行 n 次猜拳。每一次贏的人得 1 分,輸的得 0 分;平局兩人都得 0 分。現請你統計 n 次猜拳結束之後兩人的得分。

輸入 第一行包含三個整數:n,na,nb,分別表示共進行 n 次猜拳、小 a 出拳的週期長度,小 b 出拳的週期長度。數與數之間以乙個空格分隔。

第二行包含 na 個整數,表示小 a 出拳的規律,第三行包含 nb 個整數,表示小 b 出拳的規律。其中,0 表示「剪刀」 表示「石頭」 表示「布」 表示「蜥蜴人」 4 表示,1,2,3,「斯波克」。數與數之間以乙個空格分隔。

【資料說明】

對於100%的資料,0< n≤200,0< na≤200,0< nb≤200。

【輸出】

輸出共一行,包含兩個整數,以乙個空格分隔,分別表示小a、小b的得分。

【樣例輸入】

10 5 6

0 1 2 3 4

0 3 4 2 1 0

【樣例輸出】

6 2

#include

int main()

for(i=0;i"%d",&b[i]);

}for(i=0;iif(a[i%na]==0&&b[i%nb]==2)

sa++;

if(a[i%na]==0&&b[i%nb]==3)

sa++;

if(a[i%na]==1&&b[i%nb]==3)

sa++;

if(a[i%na]==2&&b[i%nb]==4)

sa++;

if(a[i%na]==3&&b[i%nb]==4)

sa++;

if(a[i%na]==1&&b[i%nb]==0)

sa++;

if(a[i%na]==2&&b[i%nb]==1)

sa++;

if(a[i%na]==3&&b[i%nb]==2)

sa++;

if(a[i%na]==4&&b[i%nb]==0)

sa++;

if(a[i%na]==4&&b[i%nb]==1)

sa++;

if(a[i%na]==2&&b[i%nb]==0)

sb++;

if(a[i%na]==3&&b[i%nb]==0)

sb++;

if(a[i%na]==3&&b[i%nb]==1)

sb++;

if(a[i%na]==4&&b[i%nb]==2)

sb++;

if(a[i%na]==4&&b[i%nb]==3)

sb++;

if(a[i%na]==0&&b[i%nb]==1)

sb++;

if(a[i%na]==1&&b[i%nb]==2)

sb++;

if(a[i%na]==2&&b[i%nb]==3)

sb++;

if(a[i%na]==0&&b[i%nb]==4)

sb++;

if(a[i%na]==1&&b[i%nb]==4)

sb++;

}printf("%d

%d",sa,sb);

}

#include 

int main(int argc, char *argv)

; win[0][2] = win[0][3] = win[1][3] = win[2][4] = win[3][4] = 1;

win[1][0] = win[2][1] = win[3][2] = win[4][0] = win[4][1] = 1;

int n, na, nb, a[202], b[202], i, j, a = 0, b = 0, x, y;

scanf("%d

%d%d", &n, &na, &nb);

for(i = 0; i < na; i++)

scanf("%d", &a[i]);

for(i = 0; i < nb; i++)

scanf("%d", &b[i]);

for(i = 0; i < n; i++)

printf("%d

%d\n", a, b);

return

0;}

剪刀石頭布

開始學習時寫的剪刀石頭布 雖然是用c 寫的 我感覺思想還是面向過程 慚愧慚愧 include include include include includeusing namespace std enum caiquan class inte cet inte cet inte cet system...

剪刀石頭布

現在一共有 n個人 分別記為 1,2,n 在玩剪刀石頭布,如果知道他們每個人都出了什麼,你能找出來誰是 winner嗎?當且僅當乙個人可以贏其他所有人時,才稱這個人是 winner。我們將剪刀記作 2,石頭記作 0,布記作 5,那麼勝負關係就應當是2能贏 5,5能贏 0,0能贏 2。input 輸入...

剪刀石頭布

描述 石頭剪刀布是常見的猜拳遊戲。石頭勝剪刀,剪刀勝布,布勝石頭。如果兩個人出拳一樣,則不分勝負。一天,小a和小b正好在玩石頭剪刀布。已知他們的出拳都是有週期性規律的,比如 石頭 布 石頭 剪刀 石頭 布 石頭 剪刀 就是以 石頭 布 石頭 剪刀 為週期不斷迴圈的。請問,小a和小b比了n輪之後,誰贏...