[noip2014]生活大爆炸版石头剪刀布 题解

来源:互联网 发布:鉴别声音的软件 编辑:程序博客网 时间:2024/06/05 05:16

D1T1想当然的模拟了。

不过为了方便起见,我们可以先手动算一个f数组,这样的话,在比较的时候会异常简单。这可是一个非常有用的技巧。

#include<bits/stdc++.h>using namespace std;int n,na,nb,x,y;int a[205],b[205];int fa,fb;const int f[5][5]={    0,-1,1,1,-1,    1,0,-1,1,-1,    -1,1,0,-1,1,    -1,-1,1,0,1,    1,1,-1,-1,0,};int main(){    freopen("in.txt","r",stdin);    scanf("%d%d%d",&n,&na,&nb);    for(int i=0;i<na;i++)scanf("%d",&a[i]);    for(int i=0;i<nb;i++)scanf("%d",&b[i]);    for(int i=0;i<n;i++)    {        x=a[i%na],y=b[i%nb];        if(f[x][y]==1)fa++;        if(f[y][x]==1)fb++;    }    cout<<fa<<" "<<fb;    return 0;} 

还有一点,如果下标是从0开始的话,取模操作也很简单,不用特别判一下。

原创粉丝点击