欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

12.17 课上上机练习

程序员文章站 2022-07-15 14:18:00
...

题目描述
熊出没之探险日记,讲述了夏季休林季,光头强变身成为一名导游,并与熊大熊二一起,帮助小女孩赵琳去往森林深处找寻儿时玩伴东北虎的故事。
某一天,他们准备进行拔河比赛,森林里很多动物都想来报名参加。经过投票,他们最终选出了光头强,赵琳,熊大,熊二,吉吉,毛毛。由于不同动物和人的力量明显是不一样的,所以这个拔河比赛可能会很不公平。于是他们想每3个分成一组,并对每位选手的力量值做一个适当的估计,力量估计值都是一个正整数。
拔河比赛马上就要开始了,请你根据给出的力量值来判断是否可以分成两组,每组3位选手,同时要求每组的力量值总和相等。
输入
输入第一行是一个正整数T,表示共计有T组数据需要判定。接下对于每组数据,都是6个正整数,表示每位选手的实力,每组数据占一行。
输出
对于每组数据,如果可以分成实力相同的两个队伍,就输出yes,否则就输出no,每个输出占一行。
样例输入 Copy
2
1 1 1 1 1 99
1 1 1 1 1 1
样例输出 Copy
no
yes
提示
共计10个测试点。
对于40%的数据,保证T=1。
对于100%的数据,保证T<=10。
保证每位选手的力量不超过100。

确定一个人然后遍历剩下两个就行,不是很难

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,a[10],i,sum,j,k,flag;
    cin>>n;
    while(n--)
    {
        sum=0;
        flag=0;
        for(i=1; i<=6; i++)
        {
            cin>>a[i];
            sum+=a[i];
        }
        if(sum%2)
        {
            flag=0;
        }
        else
        {
            for(j=2; j<=5; j++)
            {
                for(k=j+1; k<=6; k++)
                {
                    if(a[1]+a[j]+a[k]==sum/2)
                    {
                        flag=1;
                    }
                }
            }
        }
        if(flag)
        {
            cout<<"yes"<<endl;
        }
        else
        {
            cout<<"no"<<endl;
        }
    }
    return 0;
}

在足球比赛中,各国主要以联赛方式进行:
联赛中,每个队伍都会两两进行主客场交手,获得胜利的队伍全取3分;失利的队伍不得分;若双方战平,则各得1分。而统计球队的积分,则难坏了小明,他想要请你开发一个软件,帮他统计一下整个赛季结束之后各个球队的积分情况,以便向外界公布。

输入
第一行一个整数N,表示共有N个球队。2<=N<=50.
接下来N行,表示每个球队在主场作战的情况。每行共N个元素,“W”表示主队获胜,“D”表示双方战平,“L”表示主队失利。自己和自己用“-”表示。

输出
共1行。N个数,表示N个球队的积分情况,中间用空格分隔,最后一个球队后不要有空格。

样例输入 Copy
3
-WW
W-W
WW-
样例输出 Copy
6 6 6
提示
三个球队在主场都取得了两胜,同积6分

二维字符数组,看做表格,一个输了另一个就是赢
12.17 课上上机练习
考虑时也要给其他球队加分

#include <bits/stdc++.h>
#include <iostream>
using namespace std;

int main()
{
    int n,ans;
    char s[55][55];
    int a[55];
    cin>>n;
    for(int i=0; i<n; i++) cin >> s[i];
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            if(s[i][j] == 'W')  a[i] += 3;
            else if(s[i][j] == 'L') a[j] += 3;
            else if(s[i][j] == 'D')
            {
                a[i]++;
                a[j]++;
            }
        }
    }
    for(int i=0; i<n-1; i++)
        cout<<a[i]<<" ";
    cout<<a[n-1];
    return 0;
}
相关标签: ibc练习题