【3098】 删除

题目描述

比赛期间,评委收到一份有N个各种分数的列表,随后又收集到一份因运动员比赛过程中有违规动作需要取消的一份有M个各种分数列表。评委当然是要从列表中画去这些分数,然后用宽度为20,高度是分数的黑色矩形组成的柱形图表示。

比如N=6 , 第1份的分数列表为 100、120、78、50、110、80。M=4,第2份列表的分数为 80、100、45、50。显然处理后的分数列表是120、78、110,画出的图如下:

image.png

注:3个矩形每个宽20,高度分别为120 78 110。

输入格式 第1行一个不超过20的正整数N。

第2行有N个范围在50到300之间的正整数。表示第一份分数列表。

第3行一个不超过20的正整数M。

第4行有M个范围在50到300之间的正整数。表示第二份分数列表。

输出格式 相应的图形。

输入/输出例子1

输入:

10

50 60 200 100 70 300 250 90 60 110

5

250 110 60 77 88

输出:

image.png

题解

int a[20],b[20];
int n,m;

int main(){
    cin >> n;
    for (int i=0; i<n; i++)
        cin >> a[i];
    cin >> m;
    for (int i=0; i<m; i++)
        cin >> b[i];
    
    for (int i=0; i<n; i++){
        for (int j=0;j<m; j++)
            if (a[i]==b[j])
                a[i]=-1;
    }
    p.up().speed(9);
    for (int i=0; i<n; i++)
        if (a[i]>-1)
    {
        p.fd(a[i]/2).r(20,a[i],0);
        p.bk(a[i]/2).rt(90).fd(20).lt(90);
    }
    
    return 0;
}