一场足球比赛中,两支参赛队A,B,如果A队的进球数大于B队,则A赢,A积3分B积0分,如果A队的进球数等于B队,则两队打平,各积1分,如果A队的进球数小于B队,则A输,A积0分B积3分。
现有一个球队一个赛季的比赛情况,请计算该球队的积分。
时间限制:1000
内存限制:65536
输入
第一行一个整数n(0 < n ≤ 40) 接下来n行,每行两个非负整数,表示一场该球队的进球数以及对手球队的进球数。
输出
一个整数,表示该球队的赛季积分。
样例输入
5
3 1
0 0
1 2
3 2
3 3
样例输出
8
提示
该球队5场比赛的结果分别为赢,平,输,赢,平,总计2赢2平1输,积分为8分。
#include <iostream>
using namespace std;
int main() {
int n, sum = 0, a,b;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a >> b;
if (a > b) sum += 3;
else if (a == b) sum += 1;
}
cout << sum << endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a,b;
int n,sum=0;
cin >> n;
for(int j=0; j<n; j++)
{
cin >> a;
cin >> b;
if(a>b) sum+=3;
if(a==b) sum+=1;
}
cout << sum << endl;
return 0;
}
代码实现流程:(不懂下面评论解答)
#include <iostream>
using namespace std;
int main() {
int number; //输入的数
int m,n; //球场两队进球数
int sum = 0; //总分数统计
printf("Please enter a number and not greater than 40:\n");
cin>>number;
for(int i=1; i<=number; i++)
{
cin>>m>>n;
if(m > n)
{
sum = sum + 2*m;
}
else if(m == n)
{
sum = sum + m;
}
else if(m < n)
{
sum = sum;
}
}
cout<<"Total number:"<<sum<<endl;
return 0;
}
结果展示:
Please enter a number and not greater than 40:
4
12 23
3 2
3 2
3 2
Total number:18
进程已结束,退出代码 0
#include <iostream>
using namespace std;
int main()
{
int n, a, b, sum = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> a >> b;
if (a > b)
sum += 3;
else if (a == b)
sum += 1;
}
cout << sum << endl;
return 0;
}
#include<cstdio>
#include<cstring>
using namespace std;
int a[55][5],f[6],k[8][8],kk[8]={3,3,3,3,3,3,3,3},ans[55],n;
void dfs(int x)//x场
{
if(x==7)
{
for(int i=1;i<=n;i++)
{
if(a[i][1]==f[1]&&a[i][2]==f[2]&&a[i][3]==f[3]&&a[i][4]==f[4])
{
ans[i]=1;
break;
}
}
}
else
{
for(int i=1;i<4;i++)
{
for(int j=i+1;j<=4;j++)
{
if(k[i][j]==1&&kk[i]>0&&kk[j]>0)
{
k[i][j]=0;
kk[i]--;
kk[j]--;
//i win
f[i]+=3;
dfs(x+1);
f[i]-=3;
//j win
f[j]+=3;
dfs(x+1);
f[j]-=3;
//too
f[i]++;
f[j]++;
dfs(x+1);
f[i]--;
f[j]--;
//end
k[i][j]=1;
kk[i]++;
kk[j]++;
}
}
}
}
}
int main()
{
freopen("d.in","r",stdin);
freopen("d.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<4;i++)
{
for(int j=i+1;j<=4;j++)
{
k[i][j]=1;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=4;j++)
{
scanf("%d",&a[i][j]);
}
}
dfs(1);
for(int i=1;i<=n;i++)
{
if(ans[i]==1) printf("YES\n");
else printf("NO\n");
}
return 0;
}
思路就是用if else判断一下,再根据条件相应加分。
上代码:
#include <iostream>
using namespace std;
int main() {
int n, sum = 0, a,b;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a >> b;
if (a > b) sum += 3;
else if (a == b) sum += 1;
}
cout << sum << endl;
return 0;
}
有帮助的话采纳一下哦