社区讨论
20分,二维数组,测试数据结果一致,测试点只有一个AC,求大佬指正
P5728【深基5.例5】旗鼓相当的对手参与者 3已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @lo355544
- 此快照首次捕获于
- 2023/10/24 00:57 2 年前
- 此快照最后确认于
- 2023/10/24 00:57 2 年前
C
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,j,z,n,c,c0=0,count=0;
cin>>n;
int **a=NULL;
a=new int*[n];
for(i=0;i<n;i++)
a[i]=new int[3];
//创建二维数组,行代表人,列代表语数外
for(i=0;i<n;i++){
for(j=0;j<3;j++){
cin>>a[i][j];
}
}
//输入每个人的成绩
for(i=0;i<n;i++){
for(j=n-1;j>i;j--){
for(z=0;z<3;z++){
//i为比较对象,j为被比较对象,z为科目,被比较对象从最后一人开始依次累-,但始终在比较者之下,防止重复比较
if(a[i][z]-a[j][z]>0)
c=a[i][z]-a[j][z];
else
c=a[j][z]-a[i][z];
c0+=c;
//c为每门分值差,c0为三门总分分值差
if(c<=5&&c0<=10)
continue;
//此科分值差不大于5,累计总分分值差不大于10分则继续比较其他科目
else
break;
//大于5,大于10,舍弃
}
c0=0;
if(z==3&&c0<=10&&c<=5)
count++;//满足三科都比较完了且每科分值差与累计总分差不大于5不大于10,计数器+1
}
}
cout<<count<<endl;
//输出计数器
}
回复
共 6 条回复,欢迎继续交流。
正在加载回复...