首先,利用大家精密的数学知识,开始补全表格
之后,开始求解吧QwQ
剪刀 | 石头 | 布 | 蜥蜴人 | 斯波克 | |
剪刀 | 平 | 输 | 赢 | 赢 | 输 |
石头 | 赢 | 平 | 输 | 赢 | 输 |
布 | 输 | 赢 | 平 | 输 | 赢 |
蜥蜴人 | 输 | 输 | 赢 | 平 | 赢 |
斯波克 | 赢 | 赢 | 输 | 输 | 平 |
完成打表。
#include<bits/stdc++.h> using namespace std; int a[1000],b[1000],ans,tot; int f[10][10]={{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() { int n,m,k; cin>>n>>m>>k; for(int i=0;i<m;i++) cin>>a[i]; for(int j=0;j<k;j++) cin>>b[j]; for(int i=0;i<n;i++) { if(f[a[i%m]][b[i%k]]==1) ans++; if(f[a[i%m]][b[i%k]]==-1) tot++; } cout<<ans<<" "<<tot; return 0; }
原文:https://www.cnblogs.com/ln1225/p/11329715.html