【新手向】NOIP2014 生活大爆炸版石头剪刀布

请各位神犇绕道,本题为新手向

题目描述略,请切换网页以查看

思路:模拟谁都知道,可以不用写那么多if啊

直接用二维数组来表示岂不美哉?至于轮回的话直接mod就好特判一下

#include
#include
#include
#include
using namespace std;
const int maxn=205;
int a[maxn];
int b[maxn];
bool e[6][6];
int n,na,nb;
int t;
//0 1 2 3 4 
int main()
{
	//freopen("in.txt","r",stdin);
	//freopen("out.txt","w",stdout);
	cin>>n>>na>>nb;
	for(int i=1;i<=na;i++)
	scanf("%d",&a[i]);
	for(int i=1;i<=nb;i++)
	scanf("%d",&b[i]);
	e[1][0]=1;
	e[0][2]=1;
	e[0][3]=1;
	e[4][0]=1;
	e[2][1]=1;
	e[1][3]=1;
	e[4][1]=1;
	e[3][2]=1;
	e[2][4]=1;
	e[3][4]=1;
	int aa=0,ab=0;
	for(int i=1;i<=n;i++)
	{
		int w1=i%na;
		int w2=i%nb;
		if(!w1) w1=na;
		if(!w2) w2=nb;
		w1=a[w1];
		w2=b[w2];
		aa+=e[w1][w2];
		ab+=e[w2][w1];
	}
	cout<


你可能感兴趣的:(【新手向】NOIP2014 生活大爆炸版石头剪刀布)