社区讨论
10分求助(样例1输出0 0,样例2输出0 9)
P1328[NOIP 2014 提高组] 生活大爆炸版石头剪刀布参与者 5已保存回复 23
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 23 条
- 当前快照
- 1 份
- 快照标识符
- @mi86b6q8
- 此快照首次捕获于
- 2025/11/21 09:20 4 个月前
- 此快照最后确认于
- 2025/11/21 10:00 4 个月前
不多做解释了233……
通过#4
CPP#include<iostream>
using namespace std;
const int score[5][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}};//定义得分表
int main()
{
int n,na,nb,scorea=0,scoreb=0;
cin>>n>>na>>nb;
int a[na],b[nb],vs[2][n]/*PK过程中双方出拳情况统计*/;
for(int i=1;i<=na;i++)
cin>>a[i];
for(int i=1;i<=nb;i++)
cin>>b[i];
for(int i=1,j=i,k=i;i<=n;i++)
{
if(j>na)
j-=na;
if(k>nb)
k-=nb;
vs[1][i]=a[j];
vs[2][i]=b[k];
if(score[vs[1][i]][vs[2][i]]>=0)
scorea+=score[vs[1][i]][vs[2][i]];//如果小A胜则为正
else
scoreb-=score[vs[1][i]][vs[2][i]];//小B胜则为负
}
cout<<scorea<<" "<<scoreb;
return 0;
}
回复
共 23 条回复,欢迎继续交流。
正在加载回复...