P1328 生活大爆炸版石头剪刀布

P1328 生活大爆炸版石头剪刀布

题目链接:https://www.luogu.org/problem/P1328

思路:

​ 由题意可知,0—剪刀,1—石头,2—布;3—蜥蜴人,4—斯波克。

0<1,0>2,0>3,0<4;

1<2,1>3,1<4;

2<3,2>4;

3>4;

代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    //("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    int n,na,nb,sum=0,tn=0,i,j;
    int a[300],b[300];
    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=na;i<n;i++){
        a[i] = a[i%na];//将0到n-1存入数组;
    }
    for(i=nb;i<n;i++){
        b[i] = b[i%nb];//将0到n-1存入数组;
    }
    for(j=0;j<n;j++){//计算每一句的结果;
        //用if列出所有结果;
        if(a[j]==0&&b[j]==2){
            sum++;
        }else if(a[j]==2&&b[j]==0){
            tn++;
        }
        if(a[j]==0&&b[j]==3){
            sum++;
        }else if(b[j]==0&&a[j]==3){
            tn++;
        }
        if(a[j]==0&&b[j]==1){
            tn++;
        }else if(b[j]==0&&a[j]==1){
            sum++;
        }
        if(a[j]==0&&b[j]==4){
            tn++;
        }else if(b[j]==0&&a[j]==4){
            sum++;
        }
        if(a[j]==1&&b[j]==2){
            tn++;
        }else if(b[j]==1&&a[j]==2){
            sum++;
        }
        if(a[j]==1&&b[j]==3){
            sum++;
        }else if(b[j]==1&&a[j]==3){
            tn++;
        }
        if(a[j]==1&&b[j]==4){
            tn++;
        }else if(b[j]==1&&a[j]==4){
            sum++;
        }
        if(a[j]==2&&b[j]==3){
            tn++;
        }else if(b[j]==2&&a[j]==3){
            sum++;
        }
        if(a[j]==2&&b[j]==4){
            sum++;
        }else if(b[j]==2&&a[j]==4){
            tn++;
        }
        if(a[j]==3&&b[j]==4){
            sum++;
        }else if(b[j]==3&&a[j]==4){
            tn++;
        }
        if(a[j]==b[j]){//平局两人均得零分;
            sum = sum;
            tn = tn;
        }
    }
    printf("%d %d\n",sum,tn);
    return 0;
}
posted @ 2019-08-01 20:32  幽灵小一只  阅读(156)  评论(0编辑  收藏  举报