生活大爆炸石头剪刀布
https://www.luogu.com.cn/problem/P1328
题意
分别求小a和小b所得的分
思路
- 定义一个二维数组用来储存所有的情况
- 利用二维数组进行计算
坑点
- 求第几个数时用变量i不能用定值n
算法一:二维数组
实现步骤
- 二维数组
- for循环中输出小a和小b的分
代码
#include <iostream>
using namespace std;
int a[220],b[220];
int main(){
int n,na,nb,sum1=0,sum2=0;
cin>>n>>na>>nb;
for(int i=0;i<na;i++){
cin>>a[i];
}
for(int i=0;i<nb;i++){
cin>>b[i];
}
int c[5][5]={0,0,1,1,0,
1,0,0,1,0,
0,1,0,0,1,
0,0,1,0,1,
1,1,0,0,0};
for(int i=0;i<n;i++){
sum1+=c[a[i%na]][b[i%nb]];//要用变量i,不能用定值n
sum2+=c[b[i%nb]][a[i%na]];
}
cout<<sum1<<" "<<sum2;
return 0;
}