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

初看很难
然后有些人会写(几行表的正解
我这种蒟蒻打了个if表
坑点:考虑a==4 b==0/1/2/3的情况?
图上涂黑了可不代表没有

C++:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<ctime>
#include<queue>
#include<set>
#include<stack>
#include<map>
#include<algorithm>
#define maxn 100001
#define INF 0x3f3f3f3f
#define inf 0x3f
#define maxm 1001
using namespace std;
int a[201],b[201],na,nb,n,ansa,ansb;
void work(int a,int b){
    if(a==0&&b==1) ansb++;
    if(a==0&&b==2) ansa++;
    if(a==0&&b==3) ansa++;
    if(a==0&&b==4) ansb++;
    if(a==1&&b==0) ansa++;
    if(a==1&&b==2) ansb++;
    if(a==1&&b==3) ansa++;
    if(a==1&&b==4) ansb++;
    if(a==2&&b==0) ansb++;
    if(a==2&&b==1) ansa++;
    if(a==2&&b==3) ansb++;
    if(a==2&&b==4) ansa++;
    if(a==3&&b==0) ansb++;
    if(a==3&&b==1) ansb++;
    if(a==3&&b==2) ansa++;
    if(a==3&&b==4) ansa++;
    if(a==4&&b==0) ansa++;
    if(a==4&&b==1) ansa++;
    if(a==4&&b==2) ansb++;
    if(a==4&&b==3) ansb++;
}
int main(){
    cin>>n>>na>>nb;
    for(int i=0;i<na;i++){
        cin>>a[i];
    }
    for(int i=0;i<nb;i++){
        cin>>b[i];
    }
    for(int i=0;i<n;i++){
        work(a[i%na],b[i%nb]);
    }
    cout<<ansa<<" "<<ansb;
    return 0;
}

 

posted @ 2018-08-16 19:01  kenlig  阅读(295)  评论(0编辑  收藏  举报