2 条题解
-
0Guest
-
1
思路
模拟即可,先打表,之后循环模拟双方出啥。
code
#include<bits/stdc++.h> using namespace std; int score[10][10]={//打表 {0,0,1,1,0}, {1,0,0,1,0}, {0,1,0,0,1}, {0,0,1,0,1}, {1,1,0,0,0}, }; int n,cyca,cycb; int sca,scb; int a[210],b[210]; int main(){ cin>>n>>cyca>>cycb; for(int i=0;i<cyca;i++) cin>>a[i]; for(int i=0;i<cycb;i++) cin>>b[i]; for(int i=0;i<n;i++){ int nowa=a[i%cyca],nowb=b[i%cycb];//a和b出的 if(nowa==nowb) continue;//如果出的一样,不用管 sca+=score[nowa][nowb];//统计 scb+=score[nowb][nowa]; } cout<<sca<<" "<<scb; return 0; }
-
0
暴力枚举即可
#include<bits/stdc++.h> using namespace std; int a[100000],b[100000]; int main() { int n,m,l,i,j,g=0,k=0; cin>>n>>m>>l; for(i=1;i<=m;i++) { cin>>a[i]; } for(i=1;i<=l;i++) { cin>>b[i]; } for(i=m+1;i<=1000;i=i+m) { for(j=i;j<=i+m-1;j++) { a[j]=a[j-i+1]; } } for(i=l+1;i<=1000;i=i+l) { for(j=i;j<=i+l-1;j++) { b[j]=b[j-i+1]; } } for(i=1;i<=n;i++) { if((a[i]==0&&b[i]==2)||(a[i]==0&&b[i]==3)) { g++; } if((a[i]==1&&b[i]==0)||(a[i]==1&&b[i]==3)) { g++; } if((a[i]==2&&b[i]==1)||(a[i]==2&&b[i]==4)) { g++; } if((a[i]==3&&b[i]==2)||(a[i]==3&&b[i]==4)) { g++; } if((a[i]==4&&b[i]==0)||(a[i]==4&&b[i]==1)) { g++; } if((b[i]==0&&a[i]==2)||(b[i]==0&&a[i]==3)) { k++; } if((b[i]==1&&a[i]==0)||(b[i]==1&&a[i]==3)) { k++; } if((b[i]==2&&a[i]==1)||(b[i]==2&&a[i]==4)) { k++; } if((b[i]==3&&a[i]==2)||(b[i]==3&&a[i]==4)) { k++; } if((b[i]==4&&a[i]==0)||(b[i]==4&&a[i]==1)) { k++; } } cout<<g<<" "<<k; return 0; }
- 1
信息
- ID
- 468
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 23
- 已通过
- 9
- 上传者