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

时间:2019-08-19
本文章向大家介绍P1328-生活大爆炸版石头剪刀布,主要包括P1328-生活大爆炸版石头剪刀布使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
 1 #include <bits/stdc++.h>
 2 #define _for(i,a,b) for(int i = (a);i < b;i ++)
 3 #define _rep(i,a,b) for(int i = (a);i > b;i --)
 4 typedef long long ll;
 5 using namespace std;
 6 inline ll read()
 7 {
 8     ll ans = 0;
 9     char ch = getchar(), last = ' ';
10     while(!isdigit(ch)) last = ch, ch = getchar();
11     while(isdigit(ch)) ans = (ans << 1) + (ans << 3) + ch - '0', ch = getchar();
12     if(last == '-') ans = -ans;
13     return ans;
14 }
15 inline void write(ll x)
16 {
17     if(x < 0) x = -x, putchar('-');
18     if(x >= 10) write(x / 10);
19     putchar(x % 10 + '0');
20 }
21 
22 int N,Na,Nb;
23 int a[203];
24 int b[203];
25 int rnta = 0;
26 int rntb = 0;
27 int goal[][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}};
28 int main()
29 {
30     N = read(), Na = read(), Nb = read();
31     _for(i,0,Na)
32         a[i] = read();
33     _for(i,0,Nb)
34         b[i] = read();
35     
36     _for(i,0,N)
37     {
38         if(!goal[a[i%Na]][b[i%Nb]])
39             continue;
40         else if(1==goal[a[i%Na]][b[i%Nb]])
41             rnta ++;
42         else 
43             rntb ++; 
44     }
45     printf("%d %d\n",rnta,rntb);
46     return 0;
47 }

原文地址:https://www.cnblogs.com/Asurudo/p/11375397.html